术语表

浏览器指纹

网页能在几毫秒内、无需授权就读到的一组浏览器与机器属性,合在一起足以认出这台设备(browser fingerprint)。

也称:设备指纹, 浏览器指纹识别。

浏览器指纹不是一个数字。它是网页在几毫秒内读到的几十项属性,既不弹权限提示,也不留下任何痕迹:平台字符串、语言列表、时区、屏幕几何尺寸、声明的设备内存与 CPU 核心数、可用字体,以及图形栈和音频栈输出的哈希值。它对网站的价值在于,访客用来重置自己的那些做法都动不了它——清空 Cookie 没用,换一个 IP 地址也没用。

真正让人丢账号的一点是:指纹是被当成一整套来判断的。网站问的不是某个值是否罕见,而是这些值合起来是否描述了一台可能存在的机器。声称 macOS 的 user-agent 旁边配着写 Windows 的客户端提示,描述不出任何一台真实电脑;4K 屏幕旁边配着两个 CPU 核心、时区又和出口 IP 差三小时,同样如此。把各个字段分别打乱只会更糟,因为每多一个随机字段,就多一次两两互相矛盾的机会。Argus 把身份作为一整套彼此自洽的值生成,并在渲染器里落地——指纹页面会讲清楚哪些东西被测量、替换值又落在哪里。