SameSite Cookie 变更:您需要了解的都在这里

文 / Barb Smith,Chrome 与网络平台合作伙伴

随着本月 Chrome 80 稳定版的推出,Chrome 将开始强制执行全新的默认安全 Cookie 分类系统,并将未声明 SameSite 值的 Cookie 默认设置SameSite=Lax Cookie通过安全连接可访问在第三方环境中设置为SameSite=None; Secure的 Cookie。

Chrome 在去年 5 月首次宣布这项变更并发布了开发者指南,随后在 10 月又发布了提醒。随着稳定版推出,请查看以下视频和信息,确保您已了解相关内容并做好准备。

时间安排:我们在 2 月 4 日发布了 Chrome 80 的稳定版,并将于 2 月下旬,逐步开始对 Chrome 80 的用户强制启用全新的 Cookie 分类系统。如需获取关于时间安排和流程的最新信息,请时刻关注 SameSite 更新页面。如需检查您的浏览器是否更新,您可通过此页面查看;如果所有行均为绿色,则说明您的浏览器正在应用新的默认设置。

开发者工具控制台警告:当网页中包含跨站点 Cookie 且缺少必需设置时 开发者工具控制台 会发出警告。如果您在开发者工具中查看站点信息时看到了这些警告,则可能表示支持您网站功能的 Cookie 未能正确配置。以下是 Chrome 80 和早期的 Chrome(77 以上)版本中开发者工具控制台的警

有可能一个 Cookie 采用了新设置,而另一个 Cookie 因客户端不兼容仍采用旧设置。在这种情况下,即使服务能够正常运行,您也可能会看到由旧设置触发的警告(服务发出一对冗余 Cookie 的情况除外)。了解详情访问此处

Google Cookie:部分 Google 服务会也会有上述情况出现。因此,即使 Google 服务正常运行,您可能也会看到开发者工具控制台针对 Google Cookie 的旧设置发出警告。

过渡时期影响:如果跨站点 Cookie 提供者在 Chrome 80 发布之前刚刚更新 Cookie,则部分使用 Chrome 80 的站点老用户或回访用户可能会暂时显示为未知用户或新用户,直到浏览器使用新设置刷新其 Cookie 为止。使用已更新 Cookie 的用户不太会察觉到此影响。

登录流程临时缓解方案:在身份验证期间,当系统在网站和第三方间传递 Cookie 时,为避免破坏用户的登录体验,Chrome 引入名为“Lax + POST”的临时缓解方案,以便在 2 分钟内,登录流程中常用的顶级跨站点 POST 请求可使用未指定 SameSite 设置的 Cookie(这并不会更改顶级跨站点 GET 请求的行为,我们会为该请求附上“Lax”,而非“Strict”的 SameSite Cookie)您可前往针对新模式的 Chromium 追踪器中查看此缓解方案的详细介绍。如果您在使用或提供第三方登录服务,我们强烈推荐您立即测试您的登录流程。

企业政策:如果部分服务(如登录或内部应用)尚未对 Chrome 80 的变化做好准备,则企业管理员可能需要通过实施特殊策略临时将 Chrome 浏览器恢复至旧版。

测试和问题排查:为查看网站或服务在新模式下的表现,我们强烈建议您在启用“SameSite by default cookies”和“Cookies without SameSite must be secure”等实验性功能开关的情况下,在 Chrome 76 以上版本中进行测试(如要开启功能开关,请前往 chrome://flags)。由于我们会在 Chrome 80 中逐步推行新模式,所以在测试时,您也应启用 Chrome 80 中的功能开关,以确保您的浏览器采用新的默认设置。

您还可以通过禁用“SameSite by default cookies”和“Cookies without SameSite must be secure”功能开关来测试您在 Chrome 80 中遇到的意外行为是否是由新模式造成。如果在禁用后问题仍然存在,则有可能由其他原因引起。您可测试和调试提示找到更多的信息。

更多资源:

  • SameSite 更新页面
    https://www.chromium.org/updates/same-site

  • SameSite 常见问题解答(包括 Lax + POST 缓解方案)
    https://www.chromium.org/updates/same-site/faq

  • web.dev:SameSite Cookie 说明
    https://web.dev/samesite-cookies-explained/

  • web.dev:SameSite Cookie 诀窍
    https://web.dev/samesite-cookie-recipes/

  • 在测试和调试提示
    https://www.chromium.org/updates/same-site/test-debug

  • 已知的不兼容客户端
    https://www.chromium.org/updates/same-site/incompatible-clients

  • 对不兼容客户端的处理 / 访问此处
    https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients

  • 企业管理员指南 / 特殊策略
    https://www.chromium.org/administrators/policy-list-3/cookie-legacy-samesite-policies

  • 语言、内容库和框架指南
    https://github.com/GoogleChromeLabs/samesite-examples

  • AMP 发布商指南
    https://blog.amp.dev/2020/01/27/cookie-classification-on-amp/

  • 在 Stack Overflow 上提交 issue
    https://stackoverflow.com/questions/tagged/samesite

  • 默认设置为 SameSite=Lax Cookie 的 Chromium 追踪器
    https://chromestatus.com/feature/5088147346030592

  • 拒绝非安全 SameSite=None Cookie 的 Chromium 追踪器
    https://www.chromestatus.com/feature/5633521622188032

  • 宣布
    https://blog.chromium.org/2019/05/improving-privacy-and-security-on-web.html

  • 开发者指南
    https://web.dev/samesite-cookies-explained/

  • 提醒
    https://blog.chromium.org/2019/10/developers-get-ready-for-new.html

  • 此页面
    https://samesite-sandbox.glitch.me

— 推荐阅读 —

发布了887 篇原创文章 · 获赞 206 · 访问量 69万+

猜你喜欢

转载自blog.csdn.net/jILRvRTrc/article/details/104404380