Google Chrome 83版本后iframe内嵌页面cookie问题
Chrome 51 开始,浏览器的 Cookie 新增加了一个 SameSite 属性,用来防止 CSRF 攻击和用户追踪。Cookie 的SameSite属性是用来限制第三方 Cookie,从而减少安全风险。
Chrome更新83+版本后,出于安全考虑,浏览器默认禁止了内嵌,比如:当前网页有一个 GitHub 链接,用户点击跳转就不会带有 GitHub 的 Cookie,跳转过去总是未登陆状态。
当出现这类情况时,可以设置 SameSite 的值为 None ,不过,前提是必须同时设置 Secure 属性(Cookie 只能通过 HTTPS 协议发送),否则无效。
- 下面的设置无效。
Set-Cookie: widget_session=abc123; SameSite=None
- 下面的设置有效。
Set-Cookie: widget_session=abc123; SameSite=None; Secure
或者是通过浏览器禁用:
在浏览器地址输入 chrome://flags/#same-site-by-default-cookies 进入SameSite设置。
将SameSite by default cookies 的 default 修改为 Disabled 再重启即可。
relaunch.png参考链接:
http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
网友评论