2024 年告别第三方 Cookie
2023 年即将结束之际,Web 隐私迎来了一个好消息:Chrome 宣布将于 2024 年与 Firefox 和 Safari 一同弃用第三方 Cookie。从 2024 年第一季度开始,将有 1% 的用户受到影响,以便进行测试,然后逐步扩大范围。
本文将解释第三方 Cookie 背后存在的问题、已经采取了哪些措施来缓解这些问题、Chrome 计划从 2024 年第一季度开始禁用第三方 Cookie,以及这一切对 Web 开发人员及其产品用户会产生何种影响。
Cookie 的问题
Cookie 在 Web 上已经存在了很长时间。简而言之,其原理是:当用户通过 `Set-Cookie` 响应头请求资源时,网站就可以在用户的浏览器上设置一个 Cookie。这个 Cookie 可以包含网站所有者希望的任何字符串数据,通常用于为网站提供状态。
例如,Cookie 可以让网站检索用户之前是否登录、用户将什么添加到购物车、用户的偏好设置和其他个性化设置、保存的游戏状态等信息。
注意: Cookie 曾经是存储客户端网站数据的主要方法,尽管现在存在如 Web Storage 和 IndexedDB 等更有用的技术。
上述用例都可以通过为与浏览器中加载的 URL 存在于同一域下的文档设置的 Cookie 来实现。这些被称为第一方 Cookie。
当为与嵌入文档不同域的组件(例如图片或其他通过 `<iframe>` 嵌入的文档)设置 Cookie 时,可能会出现问题。这些跨站 Cookie 通常被称为第三方 Cookie — 但无论您是否拥有所有相关网站,其行为和潜在问题都是相同的。
第三方组件可以在其 Cookie 中存储来自任何以及所有嵌入它们的文档的信息。然后,原始第三方域可以访问所有这些第三方 Cookie,从而聚合来自每个 Cookie 的信息。乍听之下,这似乎没什么大不了的,第三方 Cookie 也有许多合法用途 — 例如,一个公司可能希望在其拥有的、位于不同域的多个网站之间共享用户登录状态和配置文件信息,或记录其不同属性的分析数据,以调查用户旅程并构建更易于使用的体验。广告技术公司可能希望通过用户访问的网站来推断用户的兴趣,以便为他们提供更相关的广告。
然而,在最坏的情况下,第三方 Cookie 会被用来跟踪用户在网络上的活动,构建一个详细的用户画像,其中不仅包含兴趣,还可能包含性别、性取向、宗教、政治倾向等深度个人信息。这些信息可能被用来构建令人毛骨悚然、侵入性的在线体验,并出售给其他第三方。在这种情况下,它们被称为跟踪 Cookie。
《通用数据保护条例》(GDPR)等立法,例如欧盟的 通用数据保护条例(GDPR)和《加州消费者隐私法》(CCPA),通过要求公司对其设置的 Cookie 和收集的信息保持透明,例如要求客户选择加入此类数据收集,允许他们查看公司持有的关于他们的数据,并允许他们按需删除,从而提供了一定的帮助。然而,客户仍然无法完全清楚他们的数据是如何被使用的。
浏览器如何应对
Mozilla 和 Apple 等浏览器供应商提供默认设置来阻止第三方 Cookie,同时也在其源代码中包含例外和启发式规则,以解决长期以来第三方 Cookie 在流行网站上的问题。
例如
- Mozilla 的 反跟踪政策 已导致 Firefox 默认阻止来自已知跟踪器的第三方 Cookie(请参阅 Firefox 跟踪保护 和 增强型跟踪保护)。增强型跟踪保护可以设置为标准、严格或自定义。 标准模式 启用了 Total Cookie Protection,该功能为每个网站提供单独的 Cookie 存储空间,从而防止跨站跟踪。在 严格模式 下,Firefox 会阻止所有第三方 Cookie。
- Apple 也有类似的 跟踪预防策略;遵循此策略导致了类似的第三方 Cookie 保护措施,这些措施默认启用;详情请参阅 智能跟踪预防(ITP)。
- Brave 浏览器默认也会阻止跟踪 Cookie。
可以通过 Firefox 的浏览器设置逐个允许使用第三方 Cookie。但在 Safari 中,控制更加有限 — 您可以关闭跨站跟踪预防,但只能在代码级别通过 Storage Access API 允许每个框架访问第三方 Cookie。
Google 的长远计划
这让我们谈到 Google。乍一看,似乎 Google 在第三方 Cookie 保护方面比其他浏览器慢。在撰写本文时,只有在隐身模式下默认才会阻止第三方 Cookie,但用户可以自行设置 Chrome 始终阻止第三方 Cookie。
注意: Microsoft Edge 目前默认也不阻止第三方 Cookie。
Google 迟迟不做出回应,是由于其在第三方 Cookie 的商业用途方面存在既得利益,这包括包括 Google 在内的各种组织的广告业务,以及第三方身份验证服务和许多其他用途。Chrome 在浏览器市场中占有很大份额,这加剧了人们对破坏其用户群体关键旅程(例如登录政府服务或购买杂货)的担忧。
Google 没有采取快速的全面禁用选项,而是选择了一种更细致的解决方案 — 逐步淘汰第三方 Cookie,同时开发新技术,以确保在默认禁用第三方 Cookie 后,合法的用例仍然有面向隐私的解决方案,而不是可能促使网站转向更隐秘的跟踪形式或将内容置于登录和付费墙后面。
这些新的 Web 平台功能被归集到 Privacy Sandbox 项目之下,并且已经过大量开发和测试。其中一些现在已经实现了跨浏览器支持,例如 Storage Access API,这为在处理跨站 Cookie 方面实现更好的跨浏览器一致性铺平了道路。
这些功能现在已经达到了 Google 认为它们足够成熟,能够支持其预期用例的程度,从而允许 Google 开始禁用第三方 Cookie。
Chrome 将从 2024 年第一季度开始对 1% 的用户禁用第三方 Cookie 以便进行测试,并从 2024 年第三季度逐步扩大到 100% 的用户。达到 100% 的比例取决于 Google 是否能解决英国 竞争和市场管理局(CMA)提出的任何剩余竞争问题。
这对 Web 开发人员有何影响
由于这一变化,Web 开发人员可能会发现其 Web 属性的用户体验出现问题的数量增加,特别是如果他们直接设置第三方 Cookie,或使用设置第三方 Cookie 的第三方服务。
为了解决这些问题,建议您:
- 审计您的第三方 Cookie 用途。第三方 Cookie 设置了
SameSite=None值;因此,您应该能够通过在浏览器开发者工具中搜索此设置来识别它们,例如在 Firefox Storage Inspector 或 Chrome Application panel 中。 - 测试使用第三方 Cookie 的功能是否存在问题。您可以在浏览器设置中将浏览器设置为阻止第三方 Cookie。Chrome 118+ 还有一个标志
chrome://flags/#test-third-party-cookie-phaseout,启用后会将 Chrome 设置为阻止第三方 Cookie,并确保新功能和缓解措施已激活,以最好地模拟淘汰后的状态。- 您应该验证您的
SameSite=NoneCookie 是否真的仍然是必需的。有可能是过去为了快速修复而将其标记为如此。
- 您应该验证您的
- 修复已损坏的关键功能。有各种替代方案可能适合您,例如:
- 至少在初期,您可以使您的代码更具弹性,以便在第三方 Cookie 数据不可用时提供个性化程度较低的体验,而不是完全中断。遵循 优雅降级 的原则。
- 您可以选择通过其他方式收集此类数据,例如用户调查或问卷,或者查看您已有的数据,如产品订单历史记录,以推断趋势。
- 如果您的第三方 Cookie 仅在少量相关、已知的网站之间使用,您可以使用 Storage Access API 和/或 Related Website Sets,仅允许在这些特定网站上进行跨站 Cookie 访问。Storage Access 会提示用户提供允许网站在每个框架内使用第三方 Cookie 的权限。
- 如果您已经为 Firefox 或 Safari 实现了使用 Storage Access API 的解决方案,那么现在是时候将您的实现与 Chrome 的行为进行比较了,Chrome 在 119 版本中已更新以提供全面支持。
- Related Website Sets 可以被认为是 Storage Access API 的渐进增强:API 的用法与 Storage Access API 相同,但同一组网站中的网站将不会提示用户获得访问第三方 Cookie 的权限。
- 如果您的第三方 Cookie 与其生成的顶级网站是一对一使用的,您可以利用 Cookies Having Independent Partitioned State (CHIPS),也称为分区 Cookie,将您的 Cookie 选择为分区存储,每个顶级网站都有一个单独的 Cookie 存储空间。这只需要在您的现有跨站 Cookie 中添加
partitioned属性。然后,它们可以不受限制地使用,但不能与其他网站共享。请注意,CHIPS 目前仅限于 Chromium。 - 您可以开始探索 Google Privacy Sandbox 项目中提供的各种功能,看看它们是否适合您的用例(目前仅限于 Chromium)。例如:
- Federated Credential Management (FedCM) API:支持联合身份服务,允许用户登录网站和服务。
- Private State Tokens:通过跨网站交换有限的、非识别性的信息来实现反欺诈和反垃圾邮件。
- Topics API:支持基于兴趣的广告和内容个性化。
- Protected Audience API:支持再营销和自定义受众。
- Attribution Reporting API:支持广告展示和转化的衡量。
总结
从 Web 中淘汰第三方 Cookie 已经酝酿了很长时间,这个故事还没有结束。然而,Chrome 的公告是实现这一目标的重要一步。您可以提供帮助 — 使用上述资源检查您的网站和应用程序是否可以使用现有功能迁移到不使用第三方 Cookie。对此广为传播,鼓励他人也这样做。并向浏览器供应商提供关于仍缺少哪些功能的反馈。
注意:developer.chrome.com 上的文章 为第三方 Cookie 的终结做准备 提供了更多关于从 Chrome 角度进行测试以及如何使用隐私沙盒技术来解决您的问题的信息。