cookie的特性
如果要认识cookie是如何对web安全很重要,首先你要了解它是什么?
- cookie是一种前端的数据存储。
- 后端可以通过http头进行设置cookie。
- 请求是通过http头传输给后端。
- 前端可读写。document.cookie。
- 遵守同源策略。(协议、端口、域名都要相同)。
cookie的应用场景
cookie一般是用来做用户登录状态的验证的。
它有这么几种方式:
- 服务端设置cookie,把一个用户ID存储在cookie中。
这种方式的缺点就是,不够安全,别人可以随意的冒充! - 使用用户id以及签名的方式进行cookie的存储。
这种方式是一种安全的用户签名的方式。 - 使用sessionid进行cookie的存储。
这种方式是在服务端生成一个sessionId,然后进行cookie的存储。
cookie与xss、csrf攻击的关联
xss可以偷取用户的cookie信息。
这样的方式,我们可以通过这样的cookie设置方式:
http-only: true
csrf也是通过对cookie信息的读取,达到攻击网站的目的的。
我们可以通过设置另外一个属性:
sameSite: true
cookie的安全策略
第一、签名防篡改
第二、使用加密的方式进行cookie设置
第三、设置http-only属性,防止攻击你的网站。
第四、secure——这个是针对https的一种安全方式。
第五、sameSite。同站点的时候才能读取cookie。