php cookie httponly,Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性设置方法

吐槽的话就不说了,没什么意义,今天上午接到当地网安给我的 Web 应用安全评估报告,给泪雪网强行找出了几个低危漏洞要求处理,这种两个问题就是说会话 Cookie 中缺少 HTTPSOnly 属性,还有一个就是 Secure 属性,另外两个就是 robots.txt 和网站地图 sitemap,既然强行说我有漏洞,那就积极响应整改修复,毕竟在子凡眼里是不容这种低级错误发生的。

3f61b101a0aef7fb4c7797bfcbe46d89.png

由于我们泪雪网使用 PHP 开发的,并且也接入了独立的用户系统,所以站点本身就会存在会话 Cookie,而有时候也会用到 Session 模式的 cookie,由于默认使用 session_start()函数就可以直接开启,有时候就像在开发的时候偷个懒,所以就导致了目前问题的存在,因为其是使用 session 只是作为临时的检查判断,并不会包含任何相关性数据或者加密信息,完全是不存在任何的安全问题和可能。

当然不排除某些程序或应用也会没有考虑到这些层面,在使用 session 模式的情况下也将敏感信息包含在 cookie,所以这样就会存在漏洞,也就可能会造成被一些脚本或者恶意注入,甚至被恶意获取相关用户信息,所以网站的安全性是不容忽视的,及时属于低危问题,也应该做到良好的避免,下面子凡就把方法给大家风向出来吧!

session_start();

$params = session_get_cookie_params();

setcookie("PHPSESSID", session_id(), 0, $params["path"], $params["domain"],

true, // secure 属性,默认 false.

true // httpOnly 属性,默认 false

);

如果你之前直接使用 session_start()函数就开启了 session,然后直接就使用$_SESSION['fanly']就开始操作使用了,那么你如果程序只针对 web 端,并且使用了 https 安全协议,那么你就可以放心大胆的使用以上子凡提供的示例代码,如果没有启用 https 记得 secure 就不要开启啦,参数为 false 即可。

当然如果你是直接使用 setcookie 设置的,那么在字段属性中记得开启即可,只要你知道 setcookie 的使用就可以搞定啦,子凡就不啰嗦啦。

当然最后子凡再简单的补充一点,就是站点如果安装了百度统计,就会出现类似“Hm_lpvt_e807202a140c60241d6cbc4cffb0a0c1”的 cookie,其中就没有使用开启 HTTPonly 以及 Secure,这点比较无奈,不过对站点是没有任何影响的,但是子凡我还是需要认真的给网安用书面形式解释清楚。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值