Cookie Secure 屬性

admin發表於2019-11-15

當前HTTPS正在逐漸普及,主要是因為HTTP具有諸多安全性上的問題。

下面對HTTP主要安全性缺點羅列如下:

(1).資料以明文方式傳輸,很明顯不夠安全。

(2).對資料的完整性也缺乏驗證。

(3).上述問題在涉及到支付等與金錢有關的站點特別突出。

Secure屬性規定cookie只能在https協議下才能夠傳送到伺服器。

可以在一定程度上防止資訊在傳遞的過程中被監聽捕獲後資訊洩漏。

語法結構:

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

Secure屬性不需要顯式規定屬性值。

程式碼例項如下:

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

通過谷歌瀏覽器開發者工具控制檯設定上述Cookie具有Secure屬性。

可能會出現如下兩種情況:

(1).如果站點採用HTTPS,那麼Cookie生成成功。

(2).如果站點採用HTTP,那麼Cookie生成失敗。

上面是前端JavaScript寫入Cookie,後端語言也遵循上面兩條原則,看如下PHP程式碼:

[PHP] 純文字檢視 複製程式碼
<?php
$value = 'antzone';
setcookie("softwhy", $value, time()+3600, "/", "",1);
?>

如果站點採用HTTPS,那麼Cookie生成成功。

如果站點採用HTTP,那麼Cookie生成失敗,儘管在HTTP頭部有對應的Set-Cookie內容:

a:3:{s:3:\"pic\";s:43:\"portal/201911/15/101915p3lxxvr6o73h447l.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

雖然在Set-Cookie中有對應的設定操作,但是不會真正成功生成對應Cookie。

最後再強調一點,由於Cookie本身就不夠安全,所以特別重要資訊不建議用Cookie儲存傳輸。

相關文章