做网站的朋友大部分都会很在意网站的安全,很多都会使用360检测网站是否存在漏洞或者不安全因素。360检测中检查会有这样一个不安全提示:Cookie没有HttpOnly标志。查看了360官方的解决方案,大概分为以下4个办法来处理对一些重要的Cookie添加HttpOnl
response.setHeader("Set-Cookie", "cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取 Cookie cookies[]=request.getCookies();。
在web.xml中添加如下片段: true true。
header("Set-Cookie: hidden=value; httpOnly");
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 最后一个参数为HttpOnly属性
HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie(myCookie);
Dim myCookie As HttpCookie = new HttpCookie("myCookie") myCookie.HttpOnly = True Response.AppendCookie(myCookie)
Response.Cookies[cookie].Path += ";HTTPOnly";
PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
Discuz只在 用户登录信息里默认使用HttpOnly(PHP版本不能低于5.2),这基本够了,cookie最重要的就是登录信息了, 360扫描系统一般是游客身份访问网站,没有HttpOnly正常 你想全部cookie都HttpOnly,打开 source/function/function_core.php 找到 $httponly = false) 改为 $httponly = true)
以上就是php5.2环境 Cookie没有HttpOnly标志 的解决办法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答