【wordpress】php设置cookie的httponly属性

漏洞描述:

经360漏洞检测报告,经常会看到报“Cookie没有HttpOnly标志”的轻微漏洞;

经查阅,httponly属性可以有效的防范XSS利用js获取cookie信息分析或劫持session的攻击,避免暴露敏感信息造成损失;

配置httponly,有两种说法,一种是可以让敏感的cookie配置成在浏览器的document中不可见,从而避免被XSS攻击直接获取;

另一种setcookie函数的最后一个属性,true和false,也可以用1和0来表示,如果是true则表示指明cookie仅在https的安全链接中被设置生效;

解决方案:

那么如何配置httponly,我们可以直接修改php.ini,也可以通过代码配置函数:

①、在php.ini文件中,开启全局cookie的httponly属性;

#vim php.ini
session.cookie_httponly = 1

将其值设为1或者true,表示开启全局cookie的httponly属性,配置完后记得重启下httpd服务哦;

②、在php代码中开启全局cookie的httponly属性;

<?php ini_set("session.cookie_httponly", 1); 
 // or session_set_cookie_params(0, NULL, NULL, NULL, TRUE); 
?>

代码添加到head标签之前,或公用页面靠前的位置;

③、通过setcookie和setawcookie函数的第七个参数来设置httponly的属性;

<?php
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
?>

两个函数除了第一个参数cookiename不能为空,其它参数可为空,第七参数默认为false;

当然上面的配置是php5.2或以上版本,如果是php5.1或以下版本,则需要通过header函数来周转一下;

<?php 
header("Set-Cookie: hidden=value; httpOnly"); 
?>

网上还有很多其它web语言的httponly配置方法,有兴趣的道友也可以查阅研究一下。


(好的今天就分享到这里,如果您有高见或好的分享,记得留言哦!)


原创文章,转载请注明:转自于公牛博客

本文链接地址:【wordpress】php设置cookie的httponly属性

标签:
6
祝福我们的祖国繁荣昌盛
  • 请尽情挥洒您的笔墨!

    欢迎来到公牛博客更多分享更多精彩记录美丽点亮生活

    公牛博客·统计碑运行:3059 D
    博文:215 P
    评论:452 S