针对第三方 Cookie 屏蔽进行调试

有多项功能可能会影响到特定网站上的单个 Chrome 客户端是允许还是屏蔽第三方 Cookie:

本文介绍了这些 Chrome 功能如何相互作用,并介绍了相关工具和技术,以帮助您了解第三方 Cookie 可用或被屏蔽的原因。

导致系统允许或阻止第三方 Cookie 的原因是什么?

本部分介绍了如何针对所有网站、单个网站或单个用户允许或阻止第三方 Cookie。

用户设置

通过 chrome://settings 或 Chrome 地址栏中的眼睛图标,用户可以设置或更改浏览器的默认第三方 Cookie 行为,包括屏蔽所有第三方 Cookie。用户还可以添加例外情况,以允许特定网站的第三方 Cookie。

阻止第三方 Cookie

chrome://settings/cookies

您可以前往隐私和安全 > 第三方 Cookie 屏蔽第三方 Cookie。 启用阻止所有第三方 Cookie 会在所有情境下阻止第三方 Cookie,包括第三方 Cookie 可能以其他方式可用的位置,例如在 Related Website Set 中,或当缓解措施(例如基于启发法的例外情况)正在实施时。

chrome://settings/cookies 页面,选中“屏蔽第三方 Cookie”
阻止第三方 Cookie:chrome://settings/cookies

但是,如果从 chrome://settings/cookies 启用了阻止第三方 Cookie,则可以通过启用允许相关网站查看您在群组中的活动,允许在 Related Website Set 中使用第三方 Cookie:

chrome://settings,显示了如何在屏蔽第三方 Cookie 的情况下允许 Related Website Sets
在第三方 Cookie 被屏蔽时允许 Related Website Set

chrome://settings/trackingProtection

在属于跟踪保护测试组的 1% 的 Chrome 客户端中,默认情况下会限制第三方 Cookie。这些用户可以阻止来自 chrome://settings/trackingProtection所有第三方 Cookie。这与来自 chrome://settings/cookies阻止第三方 Cookie 的影响相同。

chrome://settings/trackingProtection 页面,选中“屏蔽所有第三方 Cookie”
阻止所有第三方 Cookie:chrome://settings/trackingProtection

允许第三方 Cookie

chrome://settings 中,用户可以将某个网站添加到已获准访问第三方 Cookie 的网站列表中。

chrome://settings/cookies:已获准使用第三方 Cookie 的网站
chrome://settings 页面:获准使用第三方 Cookie 的网站

此外,当第三方 Cookie 被屏蔽或受限时,使用第三方 Cookie 的网站会在地址栏(多功能框)中看到眼睛图标。

针对网站 web.dev 显示的地址栏(多功能框),带有眼睛图标
Chrome 地址栏中的眼睛图标

点击眼睛图标即可暂时允许当前网站的第三方 Cookie:

显示 web.dev 网站的地址栏,当前网站允许使用第三方 Cookie
当前网站允许使用第三方 Cookie

“跟踪保护”组中 1% 的用户会看到“跟踪保护”对话框:

Chrome 的“跟踪保护”功能界面:允许当前网站使用第三方 Cookie
Chrome 跟踪保护界面:允许当前网站使用第三方 Cookie

使用眼睛图标允许某个网站使用第三方 Cookie,其效果与将该网站添加到 chrome://settings获准使用第三方 Cookie 的网站的效果相同,但前提是此设置的有效期为 90 天。

chrome://settings 页面,显示了获准使用第三方 Cookie 的网站
chrome://settings:允许使用第三方 Cookie 的网站

期满后,可根据需要通过眼睛图标为网站续期,以便网站可以继续访问第三方 Cookie。

也可以撤消各个网站的第三方 Cookie 访问权限。这会从允许使用第三方 Cookie 的网站列表中移除当前网站:

Chrome 界面:已阻止第三方 Cookie
Chrome 界面:已阻止第三方 Cookie

chrome://settings/content/siteData

这可让用户允许或阻止来自各个网域、第一方或第三方的数据存储(包括 Cookie)。(相比之下,如果允许第三方 Cookie 访问,只需将相应网站添加到允许使用来自 chrome://settings/cookieschrome://settings/trackingProtection 的第三方 Cookie 的网站,就可以在相应网站上从任何网域设置和读取所有第三方 Cookie。)

您应确保 chrome://settings/content/siteData 不会干扰测试。

Chrome 设置页面:不允许网站将数据保存在设备上。网站 third-party.example 已添加到允许将数据保存在设备上的网站
chrome://settings/content/siteData 页面

哪些临时缓解措施和异常会被阻止?

跟踪保护功能默认会限制第三方 Cookie,但也会采取一些缓解措施(例如基于启发法的例外情况弃用试用弃用试用宽限期),从而暂时允许第三方 Cookie。来自 chrome://settings阻止所有第三方 Cookie 会覆盖部分缓解措施。

✅ 允许第三方 Cookie
** 屏蔽了第三方 Cookie

设置 Privacy Sandbox API 临时缓解措施 用户设置
条状标签 包含提示的 Storage Access API Related Website Set 基于启发法的异常 弃用试用 弃用试用宽限期 允许特定网站上的第三方 Cookie
跟踪保护已启用,
chrome://settings/trackingProtection未启用“阻止所有第三方 Cookie”
跟踪保护已启用,“阻止所有第三方 Cookie”已启用(自
起)chrome://settings/trackingProtection
跟踪保护未启用,
chrome://settings/cookies的“阻止第三方 Cookie” 未启用
取决于用户设置

Chrome 旗帜

有多个 Chrome 标志会影响是否允许或阻止单个用户的第三方 Cookie。

如果您经常通过命令行标志使用不同的 Chrome 渠道,则可能需要为每个渠道创建函数,并将这些函数添加到 shell RC 文件中。例如,在 macOS 上:

  1. 打开终端。
  2. 创建一个函数:
    cf(){ open -a 'Google Chrome Canary' --args $\*; }
  3. 通过使用标志调用该函数来使用该函数。例如:
    cf --enable-features=TrackingProtection3pcd

弃用试用

Chrome 正在针对第三方 Cookie 提供弃用 试用服务。借助这些 API,遇到服务中断的网站或服务可以申请更多时间,以摆脱第三方 Cookie 依赖关系。参与第一方第三方试用会使针对嵌入式服务以及将这类 Cookie 用于非广告用例的网站暂时取消对第三方 Cookie 的限制。

弃用试用宽限期

Chrome 为已注册第一方或第三方弃用试用且符合条件的源提供宽限期,在此期间它们会部署弃用试用令牌。在宽限期内,参与者即使尚未部署试用令牌,也可以在 Chrome 中访问第三方 Cookie。

基本网站例外情况

我们为提供重要服务的某些网站提供了临时豁免,允许这些网站继续访问第三方 Cookie,而无需部署弃用试用令牌。

基于启发法的异常

在第三方 Cookie 逐步淘汰过程中,Chrome 会使用启发法,在特定场景中为预定义的流程授予对第三方 Cookie 的临时访问权限,以减少中断。这是一项临时措施,预计随着网站迁移到长期解决方案,启发法将来会被彻底移除。

基于启发法的异常场景详细介绍了 Chrome 会在哪些特定场景中自动授予对第三方 Cookie 的访问权限。

通过基于启发法的异常演示,您可以测试在采用和不使用启发式算法例外情况的情况下对第三方 Cookie 的访问。

Chrome 协助测试

Chrome 协助测试模式可让网站在不使用第三方 Cookie 的情况下预览网站的运作方式。系统会将一定百分比的 Chrome 客户端随机分配给模式 A模式 B 实验组之一,并为每个实验组提供一个可通过请求标头navigator.cookieDeprecationLabel 访问的标签。

将实验组加入模式 A 不会影响 Chrome 行为,包括对第三方 Cookie 的行为。共有 4 个模式 B 实验组,随机分配给总共 1% 的 Chrome 客户端(4 个实验组各占 0.25%)。系统会为分配给其中任一实验组的 Chrome 客户端屏蔽 Cookie。

Chrome 还限制了 20% 的 Chrome Canary 版、开发者版和 Beta 版客户端的 Cookie。

  • Chrome 客户端可以访问添加到允许使用第三方 Cookie 的网站的网站的第三方 Cookie,即使客户端被分配到模式 B 实验组(所有实验组默认都会屏蔽第三方 Cookie)也是如此。
  • 用于测试不同场景的 Chrome 标志说明了如何为当前 Chrome 客户端允许、禁止或强制设置 Chrome 协助的测试实验组。

Chrome 企业版政策

如果 BlockThirdPartyCookies 政策已停用,则会允许跨网站 Cookie。如果此政策已启用,系统会阻止这些网页设置第三方 Cookie。如果此政策未设置,系统会默认允许第三方 Cookie,并允许用户阻止来自 chrome://settings 的第三方 Cookie。

如需了解详情,请参阅 Chrome 企业版的帮助中心文章

  • 用户无法通过 chrome://settings 或 Chrome 标志替换 Enterprise 政策。

本部分介绍了如何检查用户������站���允许还是屏蔽第三方 Cookie。

chrome://settings

检查 chrome://settings/cookies(或 chrome://settings/trackingProtection)中是否存在屏蔽第三方 Cookie限制第三方 Cookie 或针对特定网站允许第三方 Cookie 的用户设置。

同样,请检查 chrome://settings/content/siteData,了解允许或阻止来自各个网域的数据存储(包括 Cookie)的设置。

chrome://policy

如果您使用的是 Chrome 企业版环境,那么浏览器中设置的政策可能会为您带来与用户的体验截然不同的体验,反之亦然。对于测试,您可能需要考虑使用虚拟机或非受管设备。

chrome://policy 页面会显示为 Chrome 企业版安装所管理的浏览器设置的政策。

在已设置政策的 Chrome 企业版环境中使用 chrome://policy
在已设置政策的 Chrome 企业版环境中使用 chrome://policy

Chrome 企业版政策介绍了如何设置政策来阻止第三方 Cookie 或允许特定网站使用第三方 Cookie。

Chrome 开发者工具

“问题”“应用”和“网络”面板会提供有关 Cookie 的信息,并显示浏览器是否阻止了第三方 Cookie。

“应用”面板会提供有关源试用的信息,还会显示网站是否注册了第三方 Cookie 弃用试用计划。

Chrome 开发者工具文档详细介绍了如何添加、修改和删除 Cookie,以及如何识别和检查第三方 Cookie。

Privacy Sandbox 分析工具 (PSAT)

PSAT Chrome 扩展程序向 Chrome 开发者工具中添加了一些工具,以帮助了解 Cookie 使用情况,并就可保护隐私的新 Chrome API 提供指导。

PSAT 还提供了命令行界面

用于测试的网站

Privacy Sandbox 团队维护着多个网站来支持第三方 Cookie 测试:

Privacy Sandbox 演示提供了两个关联网站,可帮助您尝试各种核心用户体验历程和用例,并了解第三方 Cookie 限制对这些网站有何影响。

Privacy Sandbox 演示页面,展示关键用例,包括分析跟踪、嵌入内容、购物车和 reCAPTCHA。
Privacy Sandbox 演示

更改 Chrome 客户端或个人资料

Chrome 客户端相当于设备上的一个安装,即用户数据目录

每个 Chrome 配置文件都是用户数据目录中的一个子目录。

如果您从命令行运行 Chrome,则可以使用 --user-data-dir 标志设置用户数据目录。

这意味着,您可以使用单独的用户数据目录进行开发,该目录应有自己的配置文件子目录。创建新的用户数据目录可让 Chrome 运行起来就像是新安装的一样,这有助于调试与个人资料相关的问题。

若要使用新的临时用户目录从命令行运行 Chrome,请使用以下标志:

--user-data-dir=$(mktemp -d)

了解详情