Cookie的Secure屬性和HttpOnly屬性

  基於安全的考慮,須要給cookie加上Secure和HttpOnly屬性,HttpOnly比較好理解,設置HttpOnly=true的cookie不能被js獲取到,沒法用document.cookie打出cookie的內容。安全

Secure屬性是說若是一個cookie被設置了Secure=true,那麼這個cookie只能用https協議發送給服務器,用http協議是不發送的。換句話說,cookie是在https的狀況下建立的,並且他的Secure=true,那麼以後你一直用https訪問其餘的頁面(好比登陸以後點擊其餘子頁面),cookie會被髮送到服務器,你無需從新登陸就能夠跳轉到其餘頁面。可是若是這是你把url改爲http協議訪問其餘頁面,你就須要從新登陸了,由於這個cookie不能在http協議中發送。服務器

例子是:cookie

前提條件:https://localhost:9102應用對cookie設置了Secure=truedom

1. 訪問 https://localhost:9102/managerurl

2. 輸入用戶名、密碼,用IE或者Chrome的developer tool會看到response的header裏,set-cookie的值裏有Secure屬性登錄

3. 登陸後,繼續訪問https://localhost:9102/manager#user,能夠正常看到內容密碼

4. 修改url,訪問http://localhost:9100/manager#domain,會跳轉到登陸頁面,由於cookie在http協議下不發送給服務器,服務器要求用戶從新登陸developer

相關文章
相關標籤/搜索