调试第三方 Cookie 屏蔽

以下多项功能可能会影响在特定网站上为单个 Chrome 客户端允许或屏蔽第三方 Cookie:

本文介绍了这些 Chrome 功能之间的互动方式,并介绍了一些工具和方法,可帮助您了解第三方 Cookie 可用或被屏蔽的原因。

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

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

用户设置

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

阻止第三方 Cookie

chrome://settings/cookies

您可以依次前往隐私和安全 > 第三方 Cookie,屏蔽第三方 Cookie。 启用阻止所有第三方 Cookie 后,系统会在所有情境中阻止第三方 Cookie,包括在第三方 Cookie 可能可用的情形(例如,相关网站集)或在采取缓解措施(例如基于启发词语的例外情况)时。

chrome://settings/cookies 页面,已选择“阻止第三方 Cookie”
阻止第三方 Cookie:chrome://settings/cookies

不过,如果您在 chrome://settings/cookies 中启用了屏蔽第三方 Cookie,则可以通过启用允许相关网站查看您在该群组中的活动记录,在“相关网站集”中允许第三方 Cookie:

chrome://settings,显示了在阻止第三方 Cookie 的情况下如何允许相关网站集
如果第三方 Cookie 被阻止,则允许相关网站集

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)。(与之相反,如果您通过在 chrome://settings/cookieschrome://settings/trackingProtection 中将某个网站添加到经允许可使用第三方 Cookie 的网站来允许第三方 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 相关网站集 基于启发词语的例外情况 宽限期 允许特定网站的第三方 Cookie
跟踪保护功能处于启用状态,
chrome://settings/trackingProtection 中的“阻止所有第三方 Cookie”未启用
跟踪保护功能处于启用状态,
chrome://settings/trackingProtection已启用“阻止所有第三方 Cookie”
跟踪保护功能未启用,
chrome://settings/cookies 中的“阻止第三方 Cookie” 未启用
取决于用户设置

Chrome flag

有多个 Chrome flag 会影响是否允许或阻止为单个用户使用第三方 Cookie。

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

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

宽限期

Chrome 的第三方 Cookie 宽限期可让出现中断问题的网站和服务申请额外时间,以便从第三方 Cookie 迁移到替代解决方案。符合条件的宽限期参与者将能够在有限的时间内继续使用第三方 Cookie。

基本网站豁免

我们为提供关键服务的部分网站提供了临时豁免,以便它们继续访问第三方 Cookie。

基于启发词语的例外情况

在逐步淘汰第三方 Cookie 期间,Chrome 会使用启发词语,在特定情况下为预定义流程授予对第三方 Cookie 的临时访问权限,以减少故障。这只是一项暂时性措施,随着网站迁移到长期解决方案,我们预计未来会完全移除启发词语。

基于启发词语的例外情况详细介绍了 Chrome 会在哪些特定情况下自动授予对第三方 Cookie 的访问权限。

借助基于启发词语的例外情况演示,您可以测试在启发词语例外情况存在和不存在的情况下第三方 Cookie 访问权限。

Chrome 协助开展的测试

借助 Chrome 协助测试模式,网站可以预览在没有第三方 Cookie 的情况下,网站的运作方式。一定比例的 Chrome 客户端会随机分配到 Mode AMode B 实验组分支之一,并且每个分支都提供一个标签,可通过请求标头navigator.cookieDeprecationLabel 访问。

纳入到模式 A 实验组不会影响 Chrome 行为,包括第三方 Cookie 的行为。该实验包含四个模式 B 实验组,共 1% 的 Chrome 客户端被随机分配到这些组(每个组占 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 标志替换企业版政策。

本部分介绍了如何检查是否允许或屏蔽了用户或网站的第三方 Cookie。

chrome://settings

检查 chrome://settings/cookies(或 chrome://settings/trackingProtection),了解用户是否设置了阻止第三方 Cookie限制第三方 Cookie允许特定网站使用第三方 Cookie

同样,您也可以查看 chrome://settings/content/siteData,了解允许或禁止从个别网域存储数据(包括 Cookie)的设置。

chrome://policy

如果您使用的是 Chrome Enterprise 环境,您在浏览器中设置的政策可能会导致您获得的体验与用户获得的体验不同,反之亦然。在测试时,您不妨考虑使用虚拟机或未经管理的设备。

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

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

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

Chrome DevTools

“问题”“应用”和“广告联盟”面板会提供有关 Cookie 的信息,并显示浏览器是否屏蔽了第三方 Cookie。

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

Privacy Sandbox Analysis Tool (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)

了解详情