如何保證 cookie 只能被 PHP 讀取,而客戶端 Javascript 腳本讀取不了?

PHP setcookie 函數的最後一個參數 $httponly 爲 true 時,cookie 只能被經過 http 協議讀取,而不能被客戶端腳本(包括 JS)讀取。該選項有助於減小 XSS 跨站腳本攻擊。

該選項從 PHP 5.2.0 開始被支持,而且不是全部的瀏覽器都支持這個特性。算法

既然不是全部的瀏覽器都支持這個特性,那麼僅依靠這個特行來提高安全性就不那麼靠譜了。其實,能夠考慮將 cookie 加密,那麼 Server 發送給 Client 的 cookie 就沒法被客戶端 JS 解密(由於 JS 不知道解密算法)。這就提高了安全性能。瀏覽器

說到 setcookie 函數,其實 $secure 這個參數項平時咱們使用的也比較少,應該引發注意。這個參數代表是否僅僅容許經過 https 安全鏈接來傳輸這個 cookie 項。安全

相關文章
相關標籤/搜索