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

转载于:https://my.oschina.net/u/133669/blog/63594

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值