1

Google 在2020年2月4号发布的 Chrome 80 版本默认屏蔽所有第三方 Cookie,

即默认为所有 Cookie 加上 SameSite=Lax 属性,并且拒绝非Secure的Cookie设为 SameSite=Non;SameSite的作用就是防止跨域传送cookie,从而防止 CSRF 攻击和用户追踪,从源头屏蔽 CSRF 漏洞。

Secure属性
仅当整站使用https协议时:发出请求,安全cookie才会发送到服务器。

SameSite属性
Cookie 的SameSite属性用来限制第三方 Cookie,从而减少安全风险。
它可以设置三个值:Strict、Lax、None

Strict最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie。

Lax规则稍稍放宽,大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。
导航到目标网址的 GET 请求,只包括三种情况:链接,预加载请求,GET 表单。详见下表。

请求类型示例正常情况Lax
链接发送 Cookie发送 Cookie
预加载<link rel="prerender" href="..."/>发送 Cookie发送 Cookie
GET 表单<form method="GET" action="...">发送 Cookie发送 Cookie
POST 表单<form method="POST" action="...">发送 Cookie不发送 Cookie
iframe<iframe src="..."></iframe>发送 Cookie不发送
AJAX$.get("...")发送 Cookie不发送
Image<img src="...">发送 Cookie不发送

内嵌iframe携带cookie解决方案

一、选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。
二、浏览器设置
谷歌浏览器访问chrome://flags/
搜索Enable removing SameSite=None cookies,参数设置成disabled


PatWu16
71 声望5 粉丝

仰望星空,脚踏实地