使用Cookie中的HttpOnly属性来避免XSS
By
lincanbin
at 2015-02-01 • 2人收藏 • 3154人看过
如图,使用JavaScript可以获取页面中的Cookie
而在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属性:
此时再在Console中输入:
document.cookie
也不会打印出Cookies了,一定程度上避免了XSS。
1 个回复 | 最后更新于 2015-02-01
登录后方可回帖
https://github.com/lincanbin/Carbon-Forum/commit/186b431be72290f45243d2e5ea7950f3e9fa64ad
Update