浏览器账号环境与指纹设置 账号 · 问答

字体指纹为什么相同或变化?

理解字体检测、账号级稳定保护和允许网站看到的字体,并排查检测摘要变化、特殊字符缺失与网页字体回退问题。

更新于 2026年8月24日

字体指纹不是浏览器主动提供的固定编号。网站可以尝试使用一组字体,再比较文字宽度、字形和回退结果,最后把观察值计算成摘要。因此,检测页面显示的“字体指纹”取决于它测试了哪些字体、怎样测量,以及是否混入了其他字段。

MaskPilot 默认开启「字体信息」。同一账号会在多次启动之间保持稳定的保护种子,字体保护结果也从该账号身份派生。稳定的目标是让同一账号可复测,而不是在每次刷新时产生一个全新结果。

相同的字体摘要不一定异常

当账号、浏览器版本、字体设置和检测方法都没有变化时,同一个检测页面持续得到相同摘要,通常符合稳定账号环境的预期。这不等于网站已经读取到完整的本机字体列表,也不代表不同检测网站必须得到同一个值。

检测页面标注“唯一”或“非唯一”,通常是拿本次结果与它自己的样本比较。样本范围、更新时间和组合字段都可能影响标签,不能据此证明账号匿名、不可关联或配置失效。

哪些操作可能改变结果

字体检测结果可能在以下情况下发生变化:

  1. 检测网站更新了候选字体、测量文本、字形范围或摘要算法。
  2. 账号使用的浏览器版本发生变化,字体选择或绘制行为随内核更新。
  3. 启动了另一个账号或账号副本。复制账号会形成独立的账号身份和保护种子。
  4. 手动编辑或重新生成了「环境随机标识」。非必要不要重新生成。
  5. 修改了「字体信息」或「允许网站看到的字体」,并在完整重启后重新检测。
  6. 操作系统字体、语言字体包或网站实际使用的字体资源发生变化。
  7. 页面显示的是综合指纹,而不是单独的字体列表或字体测量字段。

这里稳定的是账号的保护身份,不是对任意网站摘要永久不变的承诺。

「字体信息」和允许列表分别做什么

「字体信息」用于避免网站直接识别本机字体,默认开启。「允许网站看到的字体」是高级允许列表;留空时使用推荐设置,确有业务需要时才填写字体名称,多个字体使用英文逗号分隔。

允许列表改变后,网站可观察到的字体范围也可能改变。不要为了匹配某个检测页面填入很长的字体列表,也不要把某台电脑安装的全部字体复制到多个账号。

网站自行下载的 Web 字体与本机安装字体不是同一来源。页面出现字体回退、特殊字符缺失或排版变化时,既可能与本机字体可见范围有关,也可能是网站字体资源、CSS 或网络加载问题,不能只凭视觉变化关闭字体保护。

字体保护也不控制画布、WebGL、音频、屏幕、语言或网络出口。画布摘要的边界见网页画布指纹为什么会变化?

推荐排查顺序

  1. 确认每次启动的是同一个 MaskPilot 账号,并记录浏览器版本。
  2. 完全关闭账号,确认浏览器进程已经退出。
  3. 编辑账号,记录「字体信息」状态和「允许网站看到的字体」是否为空;不要在记录前修改。
  4. 确认近期没有重新生成「环境随机标识」,无需查看、记录或发送该值本身。
  5. 重新启动,在同一个检测页面连续测试数次,并只比较字体列表、字体测量或字体摘要字段。
  6. 排查期间不要同时安装字体、切换浏览器版本、修改扩展或更换多个指纹设置。
  7. 如果只有某个页面显示异常,先用测试账号确认它依赖的是本机字体还是网站下载的 Web 字体。
  8. 每次只调整一个变量,完整重启后复测,并保留调整前的设置记录。

指纹设置只在浏览器进程启动时读取。仅刷新网页不会应用保存后的变化,参见修改账号设置后没有生效怎么办?

什么时候使用字体允许列表

只有目标工作流明确依赖某个本机字体,并且已经在测试账号中确认该字体不可见时,才考虑把必要字体加入允许列表。保持列表最小、名称准确,并在完整重启后验证目标页面与字体检测结果。

如果字体显示正常,只是检测网站给出“唯一”标签,不建议修改允许列表。需要建立整体稳定基线时,继续阅读配置稳定的浏览器指纹;比较账号副本前,先了解分享与复制账号的区别

联系支持前准备

请提供出现问题的页面域名、异常文字或检测字段、浏览器版本、是否为原账号或副本、「字体信息」状态、允许列表是否为空、近期是否重新生成过环境随机标识,以及完整重启后的复测时间。无需提供环境随机标识的值;截图中请遮盖网站账号、Cookie、令牌和其他个人信息。

W3C 的字体与隐私说明介绍了网站如何通过文字宽度变化检测字体,也说明异常的本机字体可能增加可识别性。W3C 的浏览器指纹缓解指南则指出,字体枚举属于主动指纹面,并建议只暴露功能所必需的信息。