前言
Cookie 安全主要有三个属性来控制,Secure、HTTPOnly和SameSite
Secure
设置了Secure属性为true的cookie只有在https的请求中才会发出去,在http请求中不会被带上,这样就能防止一些敏感的信息在请求的途中被劫持和破解。
HTTPOnly
设置了Secure属性为true的cookie只有在发送请求时被自动的带上,而不能被js手动的获取和修改。此属性可以防止脚本恶意读取和修改cookie,防止xss攻击。
SameSite
SameSite 属性可以让 Cookie 在跨站请求时不会被发送,从而可以阻止跨站请求伪造攻击(CSRF)。
SameSite 可以有下面三种值:
- Strict 仅允许一方请求携带 Cookie,即浏览器将只发送相同站点请求的 Cookie,即当前网页 URL 与请求目标 URL 完全一致。
- Lax 允许部分第三方请求携带 Cookie
- None 无论是否跨站都会发送 Cookie。