cookie跨域失败-新版chrome浏览器SameSite属性

说明

Google 在2020年2月4号发布的 Chrome 80 版本中默认 屏蔽所有第三方 Cookie,即默认为所有 Cookie 加上 SameSite=Lax 属性,并且拒绝非Secure的Cookie设为 SameSite=None

SameSite的作用 就是防止跨域传送cookie,从而防止 CSRF 攻击和用户追踪,此举是为了从源头屏蔽 CSRF 漏洞。

详见:SameSite Cookie,防止 CSRF 攻击

解决方案

  1. (不推荐)禁用浏览器samsite属性/或降低版本(目前仅chorme存在)

  2. (不推荐)保证同源策略cookie共享(保证ip或域名一直)

  3. (推荐)设置response.setHeader(“Set-Cookie”, “HttpOnly;Secure;SameSite=None”),需设置https证书

  4. (推荐)不使用cookie共享会话,使用token实现。如:JWT


原文出处:https://www.malaoshi.top/show_1IX2ncYlXaVN.html