使用Cookie中的HttpOnly属性来避免XSS

By lincanbin at 2015-02-01 • 1人收藏 • 836人看过

如图,使用JavaScript可以获取页面中的Cookie

blob.png

而在HTTP Header的Set-Cookies时加入HttpOnly属性,则可以告诉浏览器,禁止本域下的JavaScript获取Cookies,这也可以一定程度上避免XSS。

PHP中可以通过给setcookie函数的最后一个参数传入True值来实现HttpOnly,函数原型如下:

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [,string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

详情参考: http://php.net/manual/en/function.setcookie.php

使用后,可以看到,登陆时返回的Header中,加入了HttpOnly属性:

blob.png

此时再在Console中输入:

document.cookie

也不会打印出Cookies了,一定程度上避免了XSS。

1 个回复 | 最后更新于 2015-02-01

登录后方可回帖

登 录
信息栏
购买PHP虚拟主机 / VPS

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.0.1
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

Loading...