Cookie HttpOnly 屬性

admin發表於2019-11-14

設定此屬性的目的是為了加強客戶端Cookie的安全性。

理解此屬性可以從其名稱入手,HttpOnly由如下兩個詞合成:

(1).Http:與HTTP請求同義。

(2).Only:很簡單翻譯成漢語具有"只有"或者"僅有"的意思。

此屬性規定只有通過HTTP(s)請求時,才會將該Cookie傳送到伺服器。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
HttpOnly

此屬性不需要屬性值,一旦設定此屬性,那麼當前屬性具有如下特點:

(1).只有通過HTTP(s)請求時,才會帶上該Cookie。

(2).防止通過JavaScript指令碼獲取cookie資訊,防止XSS攻擊。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
document.cookie = 'softwhy="青島市南區";domain=.softwhy.com;max-age=1200;path=/;HttpOnly'

上述程式碼的本意是通過JavaScript程式碼為Cookie設定HttpOnly屬性。

但是事實是並不能設定成功,也就是說不但不能在客戶端通過JavaScript讀取,也不能設定。

Cookie的HttpOnly屬性可以通過後端語言設定,比如PHP,由於我們是前端,具體程式碼不再分享。

本站的Cookie也有對此屬性的應用,截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201911/14/145814a9w8oeqa8g7z31d1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

截圖內容通過谷歌開發者工具Application選項卡檢視,具體參閱谷歌檢視Cookie一章節。

相關文章