今天做專案的時候涉及到了cookie跨域傳遞的問題,也因此了解了cookie的一個屬性-secure。
顧名思義,這個屬性就是用來確保cookie的安全的。
當secure屬性設定為true時,cookie只有在https協定下才能上傳到伺服器,而在http協定下是沒辦法上傳的,所以也不會被竊聽。
簡單實踐一下,chrome瀏覽器打開https://www.baidu.com和http://www.baidu.com,分別打開控制台(下文稱https頁面中的控制台為console1,http的成為console2)
1. 先在console1中輸入以下程式碼
document.cookie = "name=EX;expires=60*24*7;secure=true";
接著,開啟Resources,就可以看到cookie中已經記錄了對應的欄位
2. 在console2中進行同樣的操作,這時去看看http協定下百度頁面的Resources,就會發現,name欄位並沒有上傳到伺服器
3. 那如果我把secure設為false呢?
以本文百度這個為例,設為false的結果就是無論你在哪個協定下的百度頁面設cookie,那麼兩邊的百度頁面的cookie中都可以看到該欄位。
也實現了cookie的跨協議傳遞,但同時就存在了一定幾率的被竊聽的風險。
以上所述就是本文的全部內容了,希望能夠給大家學習cookie有所幫助。