今天做項目的時候涉及到了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中已經記錄了相應的字段
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CNiJWY0kjYmZzNkBTM5AzYlVWZzgDO1YDN4YzN2UjY48CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2. 在console2中進行同樣的操作,這時去看看http協定下百度頁面的Resources,就會發現,name字段并沒有上傳到伺服器
3. 那如果我把secure設為false呢?
以本文百度這個為例,設為false的結果就是無論你在哪個協定下的百度頁面設cookie,那麼兩邊的百度頁面的cookie中都可以看到該字段。
也就實作了cookie的跨協定傳遞,但同時就存在了一定幾率的被竊聽的風險。
以上所述就是本文的全部内容了,希望能夠給大家學習cookie有所幫助。