Cookie的安全

怎么设置Cookie

Cookie是服务器响应发给客户端,客户端保存并在下次响应时会携带在http的请求头中。
Cookie是key=value的形式保存
可以通过document.cookie设置cookie

Cookie的作用域

先来问几个问题:
1. Cookie是会存在所有的域中吗?
2. 如何限制收到Cookie的URL?

domain和path可以限制cookie的作用域,指定cookie发送的目标URL。
domain指定域名,在指定域名下的所有子域名都会包含。
例如指定domain=org.com.那么a.org.com也会包含cookie
path指定文件路径,在指定路径下的所有子路径都会包含
例如指定path=/file.那么/file/a也会包含cookie

安全

httpOnly: 限制无法通过document.cookie读取cookie,可以防止xss攻击
Secure:只允许https请求携带cookie
SameSite可以要求cookie不会在跨站请求时发出。可以防止XSRF攻击

SameSite有三个属性
lax: 也是默认属性,与strict类似。但是通过外部链接访问会发送cookie。
strict:只有在访问相同的站点下才会发送cookie
none:同站与跨站都会返回cookie,即无限制。新浏览器兼容老浏览器时需手动设置该属性。

Cookie还可以通过在名称前添加前缀来断言cookie的限制
__Host- key=name
只有当设置了secure,从安全来源发送的。并且没有设置domain,path为/时才会被浏览器接受
__Secure- key=name
只有当设置了secure,从安全来源发送的,才会被浏览器接受

猜你喜欢

转载自blog.csdn.net/qq_41028148/article/details/127502739
今日推荐