2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php cookie httponly Cookie 会话中 PHPSESSID 缺少 HTTPOnly Secure 属性设置方法

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

时间:2022-01-13 21:29:33

相关推荐

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

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

由于我们泪雪网使用 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,这点比较无奈,不过对站点是没有任何影响的,但是子凡我还是需要认真的给网安用书面形式解释清楚。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。