如何保证 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 项。安全

相关文章
相关标签/搜索