今天做項目的時候涉及到了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有所幫助。