1

概念

SameSite 阻止浏览器将 cookie 与跨站点请求一起发送。主要目标是降低跨来源信息泄露的风险。它还提供了一些针对跨站点请求伪造攻击的保护。该标志的可能值为 Lax 或 Strict。

SameSite可以有下面三种值:

Strict仅允许一方请求携带Cookie,即浏览器将只发送相同站点请求的Cookie,即当前网页URL与请求目标URL完全一致。
Lax允许部分第三方请求携带Cookie
None无论是否跨站都会发送Cookie

以前浏览器默认值为None现在为Lax,所以现在的跨站ajax请求默认不会再携带cookie。

对于ajax(XMLHttpRequest)跨域请求携带cookie的一些理解

1、ajax跨域请求默认不携带cookie,必须设置XMLHttpRequest的withCredentials为ture
2、如果这个ajax请求是跨站请求,即使设置了withCredentials也不会携带cookie,必须强行把SameSite设置成None才会携带cookie。不过需要注意:SameSite设置成None后,Cookie就必须同时加上Secure属性(Secure属性是说如果一个cookie被设置了Secure=true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的)


star
64 声望3 粉丝

小菜鸟成长记录


引用和评论

0 条评论