为了加强网络隐私保护,Chrome 团队一直致力于防止跨网站跟踪用户。我们计划在今年晚些时候发布缓解措施,以限制通过一种名为“跳出跟踪”的特定技术进行跟踪。
尽管我们预计,许多非跟踪网站不会受到这些变化的不利影响,但我们仍想邀请开发者通过功能标志测试这项新功能并提供反馈。
什么是跳出跟踪?
跳出跟踪是一种允许第三方网站存储 Cookie 的技术,即使第三方 Cookie 被屏蔽也是如此。网页上包含的第三方跟踪代码可用于将用户重定向到跟踪器的网站(可在其中设置 Cookie),然后再重定向回原始网页。这种重定向的发生通常非常快,以至于用户甚至可能察觉不到。
跳出跟踪可以通过“退回”或“弹跳”来完成。
![显示弹回示例,其中 site1.example 重定向到 tracker.example,访问 Cookie,然后重定向回原始网站。](https://developer.chrome.com/static/blog/bounce-tracking-mitigations-dev-trial/image/shows-example-a-bounce.png?authuser=9&hl=zh-cn)
弹回跟踪。
![显示通过以下路径跳出的示例:site1.example 重定向到 tracking.example. Cookie,并随后重定向到 site2.example。](https://developer.chrome.com/static/blog/bounce-tracking-mitigations-dev-trial/image/shows-example-bounce-th-2be663387100e.png?authuser=9&hl=zh-cn)
跳出跟踪。
在这两种情况下,用户可能都不知道自己访问过 tracker.example
。他们可能认为自己只访问过 site1.example
或尝试转到 site2.example
。
Chrome 打算做出哪些改变?
Chrome 会定期删除这些跟踪网站的状态,从而保护用户免受跳出跟踪的影响。具体流程如下:
- Chrome 会监控导航,并在内部标记属于“有状态跳出”的网站。也就是说,网站导航经过了重定向,并且在重定向期间网站访问了状态。这包括服务器发起的重定向以及由 JavaScript 以编程方式触发导航的客户端重定向。访问状态包括 Cookie 和其他类型的存储;例如 localstorage、indexedDB 等。
- Chrome 会定期检查被标记网站的列表,查看用户是否在过去 45 天内通过与网站进行互动而积极使用过该网站。这种互动可能发生在检测到弹跳之前、期间或之后。
- 如果网站没有任何用户互动且第三方 Cookie 被阻止,那么其状态将被删除。
我们希望在 2023 年第 3 季度初面向选择屏蔽第三方 Cookie 的用户发布这些变更。
这会破坏其他重定向流程吗?
用户互动检查旨在防止非跟踪网站在同时使用重定向流程的情况下被删除。例如,SSO、联合身份验证和付款流程通常会执行这些类型的交互。因此,我们预计单点登录、联合身份验证或支付流程不会受到影响。但是,登录身份提供方的操作会被计为一次用户互动,并可防止将其删除。
如何判断我的网站是否受到影响?
您可以使用 Chrome 115 版(目前为 Canary 版)的功能标志测试跳出跟踪缓解措施:
- 创建新的 Chrome 个人资料。您用于网站开发的现有配置文件可能会在跳出网站上记录正常的网站用户可能不会体验到的互动。
- 将
chrome://flags/#bounce-tracking-mitigations
的标志设置为“已启用且支持删除”。 - 选择“阻止第三方 Cookie”,即可在
chrome://settings/cookies
中启用第三方 Cookie 屏蔽功能。 - 执行涉及重定向的工作流。
- 打开 Chrome 开发者工具的“问题”标签页,然后查找标题为“Chrome 可能即将删除近期导航链中中间网站的状态”的消息。
- 强制执行退信跟踪删除检查,方法是前往开发者工具应用面板,点击 Background Services 下的 跳出跟踪缓解措施,然后按 Force Run。或者,您也可以等待最多两个小时,让系统执行删除操作。
- 执行您希望网站上出现状态弹跳的工作流程。
例如,如果您在第 (4) 步中访问此演示页面并选择“bounce me”链接,则可能会看到开发者工具问题:
![开发者工具问题的屏幕截图,指出 pop-tracking-demo-tracker.glitch.me 有被删除风险。](https://developer.chrome.com/static/blog/bounce-tracking-mitigations-dev-trial/image/a-screenshot-the-devtool-630170fd9a84d.png?authuser=9&hl=zh-cn)
开发者工具问题的屏幕截图。
然后,在第 6 步中,您可以使用开发者工具应用面板强制立即删除:
![开发者工具应用标签页的屏幕截图,其中已选择“跳出跟踪缓解措施”面板。该面板显示演示版网站已使用强制运行操作,存储空间已删除。](https://developer.chrome.com/static/blog/bounce-tracking-mitigations-dev-trial/image/a-screenshot-the-devtool-9d784d6cf7888.png?authuser=9&hl=zh-cn)
开发者工具弹跳跟踪缓解措施面板。
如果您随后重新访问演示并执行退回操作,应该会看到由于状态已清除而生成的新标识符。
企业使用场景
部分企业使用受管设备的方式自动让用户登录其单点登录网站。由于用户不与 SSO 网站互动,因此可能会导致 Chrome 将该网站视为跳出跟踪器。
为了缓解这个问题,企业可以使用 Cookie 政策为 SSO 网站启用第三方 Cookie。这样就无法阻止针对该网站的跳出跟踪缓解措施生效。
反馈
您可以在 Chromium 错误跟踪程序中使用“隐私权 > NavTracking”组件提供反馈。您也可提交 W3C PrivacyCG 基于导航的跟踪缓解措施问题的反馈。