浏览器指纹

ClientRects 指纹的原理以及如何防范

AbcFinger

什么是 ClientRects 指纹?

ClientRects 是浏览器的一个 Web API(getClientRects()),主要用于获取 HTML 元素在屏幕上绘制时产生的矩形区域的精确几何信息(如宽度、高度、相对于视口的坐标等)。

由于不同用户的计算机硬件(显卡、显示器)和软件环境(操作系统、浏览器版本、字体渲染引擎、缩放比例)存在微小差异,即使是同一个 HTML 元素,在不同机器上渲染出的像素点数据也往往不尽相同。

这些极其细微的差异被收集起来,就形成了一个独特的“指纹”,用于标识和追踪特定的设备。

ClientRects 指纹的原理

ClientRects 指纹的核心在于渲染引擎的差异性。以下是影响其生成的几个关键因素:

1. 字体渲染(Font Rendering)

不同操作系统(如 Windows 的 ClearType 与 macOS 的字体平滑)对字体的渲染算法不同。哪怕是同一个像素的偏移,也会导致 getClientRects() 返回的浮点数结果产生差异。

2. 屏幕分辨率与缩放

用户的屏幕分辨率、系统缩放比例(DPI)以及浏览器的缩放级别,都会直接影响 HTML 元素在页面上的物理布局。

3. 硬件加速与显卡

不同的图形处理器(GPU)在处理子像素渲染和抗锯齿时,可能会产生极微小的数值波动。

为什么它比 Cookie 更“危险”?

  1. 难以清除:Cookie 可以手动删除或禁用,但 ClientRects 是浏览器内核渲染的固有属性,只要你访问网页,浏览器就需要调用这些 API 来展示内容。
  2. 无感追踪:用户无需进行任何操作,网站只需运行一段简单的 JavaScript 代码即可在后台完成采集。
  3. 高辨识度:结合 Canvas 指纹、Audio 指纹和 ClientRects 指纹,网站可以将全球数亿用户细分为极小且可识别的群体。

AbcFinger 如何防范 ClientRects 指纹追踪?

仅需在新建、编辑、复制环境时。勾选以下选项即可,默认情况下就是开启。

AbcFinger指纹浏览器

为多账号运营量身打造

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

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

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