首页 > 开发 > Php > 正文

php5.2环境 Cookie没有HttpOnly标志 的解决办法

2020-07-03 13:09:59
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了php5.2环境 Cookie没有HttpOnly标志 的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

       做网站的朋友大部分都会很在意网站的安全,很多都会使用360检测网站是否存在漏洞或者不安全因素。360检测中检查会有这样一个不安全提示:Cookie没有HttpOnly标志。查看了360官方的解决方案,大概分为以下4个办法来处理对一些重要的Cookie添加HttpOnl

Cookie没有HttpOnly标志

javaEE:

       response.setHeader("Set-Cookie", "cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取 Cookie cookies[]=request.getCookies();。

Servlet3:

       在web.xml中添加如下片段: true true。

PHP4:

       header("Set-Cookie: hidden=value; httpOnly");

PHP5:

       setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 最后一个参数为HttpOnly属性

C#:

       HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie(myCookie);

VB.NET:

       Dim myCookie As HttpCookie = new HttpCookie("myCookie") myCookie.HttpOnly = True Response.AppendCookie(myCookie)

在 .NET 1.1 中您需要手动添加:

       Response.Cookies[cookie].Path += ";HTTPOnly";

网上大神的一些解决办法:

       PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中

-----------------------------------------------------

session.cookie_httponly =

-----------------------------------------------------

设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:

Discuz解决办法:

Discuz只在 用户登录信息里默认使用HttpOnly(PHP版本不能低于5.2),这基本够了,cookie最重要的就是登录信息了, 360扫描系统一般是游客身份访问网站,没有HttpOnly正常 你想全部cookie都HttpOnly,打开 source/function/function_core.php 找到 $httponly = false) 改为 $httponly = true)

以上就是php5.2环境 Cookie没有HttpOnly标志 的解决办法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表