当你在 Firefox 高级首选项(即配置编辑器 about:config 页面)启用了 Resist Fingerprinting(抗阻指纹识别) 选项,它能对网站可收集到的关于你设备的信息加以限制,从而防止网站通过唯一特征来识别你。这虽然对于极度注重隐私的人来说是项十分理想的功能,但也可能导致一些网站不能正常工作。对大多数用户来说,Mozilla 推荐在 Firefox 设置里的增强跟踪保护中使用指纹收集保护,这样既可以对侵入性的跟踪手段进行拦截,同时也可以保持与大多数网站的兼容性。
附加组件 有权启用高级首选项里的 抗阻指纹识别 功能,也就是说,即使你没有特意去打开这项功能,它可也能已经启用了。你可以通过修改 about:config 里 privacy.resistFingerprinting 这项设置来进行管理。
如何判断是否启用了抗阻指纹识别,如果启用了,如何将其禁用?
请务必在您对高级设置十分熟悉并了解潜在影响的情况下才这么做。
- 在 地址栏 里输入about:config,然后按 回车。
有时会出现警告页面。点击 ,以打开 about:config 页面。 - 在顶部的搜索栏中搜索 privacy.resistFingerprinting。
- 会出现许多首选项,请查看 privacy.resistFingerprinting 或 privacy.resistFingerprinting.pbMode 是否为 true。
- 要判断扩展程序是否在控制此首选项,可以单击切换键将该值切换回 false。然后重启浏览器。重启后,再次访问 about:config,看看该值是否已恢复为 true。
如果是这样,你需要确定是哪个扩展程序控制了首选项,然后禁用或删除它们。 一种方法是逐个禁用已安装的扩展程序,然后重启浏览器,看看重启 Firefox 后首选项是否有变化。请注意,在极少数情况下,可能有不止一个扩展程序在同时设置该首选项。
抗阻指纹识别技术会如何破坏网页?
抗阻指纹识别会导致许多奇怪的行为,这些行为通常被归类为 Bug。虽然这些行为确实会导致网站出现奇怪或不正确的行为,但这些行为也意味着抗阻指纹识别功能正常运行,这也是我们不建议普通 Firefox 用户使用此功能的原因。
同样重要的是要注意,如果设置了 privacy.resistFingerprinting.pbMode,但没有设置 privacy.resistFingerprinting,那么在正常窗口上仍会出现某些抗阻指纹识别行为,这是因为无法对每个窗口分别采取不同行为。这包括使用固定颜色而非系统颜色等。
最常见的意外行为包括:
- 时间显示不正确,更准确地说,是显示在错误的时区。
- 图片,尤其是在浏览器中上传/编辑图片后创建的图片,可能会显示随机线条。例如:
- 某些动画或游戏可能运行缓慢。
- 页面可能未按预期语言进行本地化,而是以英语显示。
- 对于 macOS 或 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 将首选对比度报告为无偏好。