查询参数去除¶
为了对抗通过导航跟踪 链接装饰,Firefox 可以在用户导航到 URL 之前,从 URL 中去除已知的跟踪查询参数。
保护背景¶
其他浏览器有哪些类似的保护措施?¶
Brave 也有一种基于列表的查询参数去除机制。可以在这里找到一个被去除的查询参数列表。Brave 还具有一个复制去除功能,允许用户复制当前 URL 的去除版本。
它是否已标准化?¶
目前还没有标准化的导航跟踪保护措施。PrivacyCG 有一项关于基于导航的跟踪缓解措施的工作项目。另请参阅 Apple 的提案此处。
它如何融入我们“零隐私泄露”的愿景?¶
Firefox 中现有的跟踪保护机制,例如 ETP 和 TCP,主要侧重于第三方跟踪器。重定向跟踪可以通过链接装饰和第一方存储来传递标识符,从而规避这些机制。查询参数去除通过缓解这种跨站点跟踪向量,有助于实现“零隐私泄露”的愿景。
Firefox 状态¶
元错误:错误 1706602 - [元] 实现 URL 查询字符串去除原型
此保护措施在 Firefox 中的发布状态如何?¶
查询去除在 ETP 严格模式下已启用发布,并带有一个初始的查询参数列表
mc_eid
oly_anon_id
oly_enc_id
__s
vero_id
_hsenc
mkt_tok
fbclid
它在所有模式下的 Nightly 中默认启用,并带有扩展的去除列表。您可以在此处找到当前被去除的参数列表。请注意,某些记录具有filter_expression,用于限制其适用范围。
是否有未完成的工作?¶
在我们最初在 ETP 严格模式下发布后,我们正在考虑将此功能发布到隐私浏览模式,并可能在未来默认启用发布。
其他可能的改进
根据我们的策略,扩展被去除的查询参数列表。
扩展保护范围,涵盖除查询参数之外的其他类型的链接装饰。
能够识别和去除散列链接装饰字段
去除从浏览器共享/复制出的 URL 的查询参数
未解决的错误
现有文档¶
技术信息¶
功能首选项¶
首选项 | 描述 |
---|---|
privacy.query_stripping.enabled | 启用/禁用普通浏览中的功能。 |
privacy.query_stripping.enabled.pbmode | 启用/禁用隐私浏览中的功能。 |
privacy.query_stripping.allow_list | 不应去除其查询参数的站点(不带方案)的逗号分隔列表。 |
privacy.query_stripping.redirect | 是否对重定向执行去除操作。 |
privacy.query_stripping.strip_list | 要去除的空间分隔查询参数列表。 |
它是如何工作的?¶
从privacy.query_stripping.strip_list/allow_list首选项和query-stripping远程设置集合中收集要去除的查询参数列表和允许列表
这两个来源的列表被连接
列表通过观察者通知通过nsIUrlQueryStrippingListService分发。 onQueryStrippingListUpdate在初始注册时以及首选项或远程设置集合更新时调用。
保存去除列表和允许列表的哈希集表示形式。
URLQueryStringStripper::Strip:以 nsIURI 作为输入,并去除去除列表中任何查询参数。如果给定的 URI 匹配允许列表中的站点,则不去除任何查询参数。
使用者
nsDocShell::DoURILoad:在内容中去除,然后创建通道。
BrowsingContext::LoadURI:在父级加载 URI 之前去除。
nsHttpChannel::AsyncProcessRedirection:去除 HTTP 重定向(例如 301)的查询参数。