抗阻指纹识别

Firefox Firefox 最后更新于:

Firefox 包含了Resist Fingerprinting(抗阻指纹识别)的功能,它限制了用户操作系统和硬件暴露在网站上的个人特征,不建议在正常情况下使用。 抗阻指纹识别采用非常严格的方法,经常会导致网页运行不正常。Mozilla 不建议启用“抗阻指纹识别”,而是建议使用受支持的“指纹保护”模式,Fingerprinting Protection 可最大限度地减少损坏网站。

抗阻指纹识别功能由附加组件控制,这意味着它可能是在不知情的情况下启用的。也可以通过更改 Firefox 配置编辑器(about:config)中的首选项 privacy.resistFingerprinting 进行设置。

如何判断是否启用了抗阻指纹识别,如果启用了,如何将其禁用?

警告:这些说明是为有经验的 Firefox 用户提供的。在配置编辑器about:config)中更改设置,可能会严重影响您浏览器的稳定性、安全性和性能。
请务必在您对高级设置十分熟悉并了解潜在影响的情况下才这么做

要禁用抗阻指纹识别, 请

  1. 地址栏 里输入about:config,然后按 回车
    有时会出现警告页面。点击 接受风险并继续,以打开 about:config 页面。
  2. 在顶部的搜索栏中搜索 privacy.resistFingerprinting
  3. 会出现许多首选项,请查看 privacy.resistFingerprintingprivacy.resistFingerprinting.pbMode 是否为 true
  4. 要判断扩展程序是否在控制此首选项,可以单击将该值切换回 false。然后重启浏览器。 重启后,再次访问 about:config,看看该值是否已恢复为 true

如果是这样,你需要确定是哪个扩展程序控制了首选项,然后禁用或删除它们。 一种方法是逐个禁用已安装的扩展程序,然后重启浏览器,看看重启 Firefox 后首选项是否有变化。 请注意,在极少数情况下,多个 扩展程序可能会设置首选项。

抗阻指纹识别技术会如何破坏网页?

抗阻指纹识别会导致许多奇怪的行为,这些行为通常被归类为 Bug。 虽然这些行为确实会导致网站出现奇怪或不正确的行为,但这些行为也意味着抗阻指纹识别功能正常运行,这也是我们不建议普通 Firefox 用户使用此功能的原因。

同样重要的是要注意,如果设置了 privacy.resistFingerprinting.pbMode,但没有设置 privacy.resistFingerprinting,那么在正常窗口上仍会出现某些抗阻指纹识别行为,因为无法在每个窗口中分离这些行为。 这包括使用固定颜色而非系统颜色等。

最常见的意外行为包括:

  • 时间显示不正确,更准确地说,是显示在错误的时区。
  • 图片,尤其是在浏览器中上传/编辑图片后创建的图片,可能会显示随机线条。例如:

Resist Fingerprinting image breakage

  • 某些动画或游戏可能运行缓慢。
  • 页面可能未按预期语言进行本地化,而是以英语显示。
  • 对于 Mac 或 Linux 用户,可能会收到适用于 Windows 操作系统的信息或下载。
  • 图标、地图或图像可能无法高保真渲染,看起来模糊或分辨率低。
  • 游戏手柄不起作用。
  • 书写板、手写笔或触摸屏无法正常工作。
  • 不遵守显示偏好设置,如明暗模式、减少动画和减少透明度。
  • 打开新窗口时,它们被固定为特定大小。
  • 本机系统颜色被替换,取而代之的是固定值

抗阻指纹识别会改变什么?

抗阻指纹识别会改变许多浏览器行为,以下列表旨在提供技术性信息,并尽可能全面,但仍有可能意外遗漏某些内容。

  • 报告的时区为 UTC 或冰岛时区
  • JavaScript 中的数学运算可能会报告与常规运算略有不同的值
  • 地区报告为 en-US
  • 网站只能使用预装在操作系统中的字体。这也不包括语言包中的字体。
  • 固定了导航器对象的几个属性,包括硬件并发值、应用程序版本和构建 ID。 报告的用户代理版本是主要版本(如 119.0 而不是 119.1)。
  • HTTP 标头中报告的操作系统是 Windows,而 JavaScript 中导航器对象中报告的操作系统是准确的。
  • 在未授予任何权限的情况下,只有一个摄像头和麦克风被报告为媒体设备。某些设备错误可能会报告为“不允许”,而不是“未找到”。不报告设备更改事件。
  • 视频流和音频流标签固定为“内部摄像头”或“内部麦克风”。
  • 媒体功能报告为支持、流畅和不节能。
  • 视频面向模式为固定值。
  • 音频首选采样率报告为 44100,采样率报告为 48000。
  • 音频上下文延迟为固定值,最大通道数为 2。
  • 从未报告存在游戏手柄
  • 网络连接类型报告为‘未知’
  • 在 macOS 上,不遵守操作系统字体平滑首选项
  • 禁用所有设备传感器。
  • 帧率锁定为 60 fps。
  • 所有报告的时间戳、计时器和时钟的精度都降低到 16.67 毫秒(以匹配 60fps)。
  • 报告的外窗口尺寸与内窗口尺寸相同
  • window.screenX 和 screenY 属性以及 mozInnerScreenX 和 mozInnerScreenY 和事件屏幕坐标始终报告为 0,0
  • 屏幕的顶部、左侧、宽度和高度,以及屏幕可用的顶部、左侧、宽度和高度都与窗口内部尺寸相同
  • 屏幕像素深度报告为 24
  • 设备像素比被报告为 2.0
  • CSS 分辨率被报告为缩放级别,而不是真正的设备像素比。
  • 屏幕方向设置为横向,因为屏幕角度设置为 0,方向改变事件被抑制。
  • 触摸事件的半径、旋转和力度属性设置为 0
  • 指针事件的最大触摸指针设置为 0
  • 倾斜度和压力等几个指针事件属性被设置为常量。
  • 所有指针事件都被设置为来自单一主指向设备。
  • 报告指针功能为 Coarse(Android)或 Fine & Hover(桌面)。
  • 修改键盘事件的按键代码,以避免泄露键盘布局
  • WebSpeech API 不报告任何可用声音
  • CSS 将首选颜色方案报告为浅色
  • CSS 将报告首选的减弱运动为 False
  • CSS 将首选对比度报告为无偏好

这篇文章对您有帮助吗?

请稍候...

此文章在这些用户的协助下写成:

Illustration of hands

志愿者

分享知识并培养专业技能。解答问题并改进我们的知识库。

详细了解