【安全拾遗】cookie保护伞之Httponly
来源:互联网 发布:大学练字钢笔推荐 知乎 编辑:程序博客网 时间:2024/05/21 09:53
在网站攻击中,XSS攻击是很常见的一种。
XSS全称Cross Site Scripting,为不与CSS重名,因此简写成XSS。攻击者通过在原始页面注入恶意的javascript脚本语言,达到获取用户token,从而达到伪造用户身份的目的。
为了防范XSS的攻击,浏览器开发商发明了一个属性Httponly,如果给Cookie加上这个属性,js就不能通过document.cookie来获取Cookie,仅仅用作http协议通信。
在PHP中的应用:
setcookie("token", "1234567", NULL, NULL, NULL, NULL, TRUE); //PHP5里的用法,最后一个参数设置为TRUE时开启Httponly支持
header("Set-Cookie: hidden=value; httpOnly"); //PHP4里的用法
做个小实验:
class Httponly { public static function test() { setcookie('username','simon',null,null,null,null,FALSE); setcookie('token','1234567',null,null,null,null,TRUE); }}Httponly::test();
在Chrome浏览器运行后,按F12调出代码调试器,在Resources里点击Cookie列表,如下图所示,名称为token的Cookie在HTTP栏里有个勾,表示是Httponly属性:
再切换到Console控制台,输入document.cookie回车,发现刚刚我们设置的两个Cookie值,只得到了username的值,token由于是Httponly属性的,得到了浏览器的保护,从而达到保护Cookie的目的。如下图所示:
小结:在写服务端代码时,我们可以把那些安全性要求高的Cookie设置成Httponly,尽可能地做到防范XSS攻击于未然。
1 0
- 【安全拾遗】cookie保护伞之Httponly
- cookie httponly
- 网站安全之设置HttpOnly的方法
- JAVA年度安全 第四周 SESSION COOKIE HTTPONLY 标识
- 网站安全测试,会话 cookie 中缺少 HttpOnly 属性
- HttpCookie.HttpOnly VS Cookie.HttpOnly?
- WEB跨站脚本和cookie(httponly-cookie设置)安全了解
- 如何获取HttpOnly Cookie
- java 写cookie HTTPOnly
- 如何获取HttpOnly Cookie
- apache httponly cookie disclosure
- cookie的httponly属性
- django 设置cookie,httponly
- 读取httponly cookie
- cookie httponly属性
- 伪造httponly cookie
- cookie设置HttpOnly
- cookie httponly属性
- 获取一定长度的随机字符串 RandomStringGenerator
- Linux学习笔记之论坛安装
- 简易爬虫实现校园网剩余流量查询
- 持续集成篇_09_复制maven项目
- Http协议详解
- 【安全拾遗】cookie保护伞之Httponly
- geohash的简单分享
- 线段树模版—A Simple Problem with Integers
- SpringMVC 使用验证框架 Bean Validation(上)
- Codeforces Round #347 (Div. 2) A - Complicated GCD
- Hadoop之——Could not resolve hostname XX错误解决办法
- android中Spinner修改默认文本框的样式
- Fiddler 教程
- 省