likes
comments
collection
share

微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子

作者站长头像
站长
· 阅读数 19

Microsoft Edge 中跟踪预防功能的第一个组件是分类。 为了对在线跟踪器进行分类并将它们分组,Microsoft Edge 使用了断开连接开源跟踪保护列表, 即所谓的 Disconnect open source tracking protection lists.

这些列表通过“信任保护列表”组件提供,该组件可在 edge://components 中查看。

微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子

下载后,列表存储在磁盘上,开发人员可以使用它们来确定特定 URL 是否分类或如何分类。

为了确定某个 URL 是否被 Microsoft Edge 中的分类系统视为跟踪器,系统会检查一系列主机名,从完全匹配开始,然后继续检查顶级域之外最多四个标签的部分匹配。

例子:如果我们有如下的 url:https://a.subdomain.of.a.know...

下列 hotname 会被 测试:

  • a.subdomain.of.a.known.tracker.test
  • of.a.known.tracker.test
  • a.known.tracker.test
  • known.tracker.test
  • tracker.test

如果这些主机名中的任何一个与断开连接列表中的主机名匹配,Microsoft Edge 将继续评估强制措施以防止用户被跟踪。

为了防止网络上的跟踪操作,Microsoft Edge 对分类跟踪器采取了两项强制措施:

  • 限制存储访问 - 如果已知跟踪资源尝试访问任何可能尝试保留用户数据的 Web 存储,Microsoft Edge 会阻止该访问。 这包括限制该跟踪器获取或设置 cookie 以及访问 IndexedDB 和 localStorage 等存储 API 的能力。
  • 阻止资源加载 - 如果网站上正在加载已知的跟踪资源,Microsoft Edge 可能会在请求到达网络之前阻止该加载,具体取决于负载的兼容性影响和用户设置的跟踪阻止设置。 阻止的加载可能包括跟踪脚本、像素、iframe 等。 这可以防止任何可能发送到跟踪域的数据,甚至可能会提高加载时间和页面性能作为副作用。

最典型的一个行为,就是应用程序发起的 HTTP 请求,被 Edge 阻止,返回错误消息:net::ERR_BLOCKED_BY_CLIENT,如下图所示:

微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子