浏览器指纹

为什么字体也能成为一种极具杀伤力的识别技术

AbcFinger

什么是浏览器字体指纹?

浏览器字体指纹是一种通过检测用户计算机上安装的具体字体列表以及这些字体的渲染方式,来生成唯一标识符的技术。

由于每个用户安装的软件(如 Office、Adobe 系列、设计类软件、特定语言包)不同,导致系统自带和后天安装的字体组合具有极高的唯一性(Entropy)。据研究,字体指纹往往能贡献浏览器指纹中很大一部分的可识别信息。

它是如何工作的?

浏览器通常不会直接告诉网站“我安装了哪些字体”(因为这涉及隐私),但网站可以通过 JavaScript 使用以下两种巧妙的方法“套”出信息:

1. 字体枚举法(Font Enumeration)

这是最常用的方法。原理非常简单:

  • 网页在后台创建一个隐藏的文本容器,写上一段文字,并设置一个不存在的后备字体(例如 monospace)。
  • 脚本会测量这个文本的宽度和高度。
  • 接着,脚本尝试将字体改为目标字体(如 Adobe Heiti Std)。
  • 对比结果:如果测量出的尺寸发生了变化,说明你的系统里安装了该字体;如果尺寸没变,说明浏览器使用了后备字体,即你没有安装目标字体。

通过循环测试成百上千个潜在字体,网站就能得到你精准的“已安装字体清单”。

2. 字体渲染差异

即便两台电脑安装了完全相同的字体,由于操作系统(macOS vs Windows)、渲染引擎(Font Smoothing)、显卡驱动的不同,同一行字在像素级别上仍会有细微差别。这种差别通常结合 Canvas 指纹 一起使用。

为什么字体指纹威胁很大?

  • 独特性极高:普通用户可能只有几百个字体,而设计师或办公族可能有数千个。这种“字体组合”就像 DNA 一样难以撞衫。
  • 跨浏览器一致性:如果你在同一台电脑上分别使用 Chrome 和 Firefox,由于它们读取的是相同的系统字体库,生成的字体指纹往往是一致的,这使得跨浏览器追踪成为可能。
  • 难以防御:即使你开启了无痕模式(Incognito),浏览器依然需要加载字体来显示网页,因此无痕模式对字体指纹几乎无效。

AbcFinger 如何生成随机的指纹呢?

仅需在新建、编辑、复制环境时。勾选以下选项即可,默认情况下就是开启。AbcFinger指纹浏览器会根据您在基础设置里选择的操作系统,自动切换字体到该操作系统的字体列表,并且自动为每个环境生成一个唯一的指纹。

AbcFinger指纹浏览器

为多账号运营量身打造

  • 独立浏览器环境
  • 防指纹追踪技术
  • 多平台账号管理
  • 一键同步配置

注册即送7天专业版试用,免费版5个环境永久免费

本文仅供参考,不构成对产品或服务的承诺,仅供您参考使用。如需进一步帮助,可联系我们的客服。