开启网站 cookies HttpOnly属性
作者:X1 张杰前言:这很重要,可以有效防止跨站攻击。
原文:
最近总收到网监部门的安全通报,提示Cookies未设置HttpOnly,经过不断探索终于找到了方法,不敢独享,特分享给大家!
开启cookies HttpOnly属性
1、修改php.ini文件内 session.cookie_httponly = 1
2、修改\application\config.php 第305行'httponly'=>true,
3、修改\\thinkphp\convention.php 第232行'httponly'=>true,
4、修改\thinkphp\library\think\Cookie.php第25行'httponly'=>true,
通过以上修改 即可开启HttpOnly属性 HttpOnly是加在cookies上的一个标识,用于告诉浏览器不要向客户端脚本(document.cookie或其他)暴露cookie。HttpOnly背后的相关议题是:当网站存在跨站脚本攻击(XSS)漏洞时,黑客通过执行脚本获得cookie时被阻止,从而在根本上杜绝这种类型的攻击。
当你在cookie上设置HttpOnly标识后,浏览器就会知会到这是特殊的cookie,只能由服务器检索到,所有来自客户端脚本的访问都会被禁止。当然也有前提:使用新版的浏览器。
HttpOnly Cookie 最初由 Microsoft’s Internet Explorer 6 SP1引入,至今为止,已是设置会话cookie的最佳实践了。
其语法如下:
Set-Cookie: Name=Value; expires=Wednesday, 01-May-2014 12:45:10 GMT; HttpOnly
在上面的HTTP请求头中,HttpOnly知会浏览器在保存cookie,但不要向客户端脚本开放访问权限。
另外还有一个安全标识可以强制浏览器发送cookie的时候采用安全通道,比如HTTPS,可以防止被监听。尤其是在HTTPS连接被一些工具(比如SSLStrip等)降级到HTTP。
该语法为:
Set-Cookie: Name=Value; expires=Wednesday, 01-May-2014 12:45:10 GMT; Secure
在这个HTTP头信息中,Secure标识知会浏览器使用安全的加密通道发送cookie。
Pages:
[1]