首页 / 文章

浏览器指纹由哪些信息构成,为什么删 Cookie 也躲不掉

更新于 2026-07-29 5 分钟阅读 浏览器指纹 环境检测 隐私

你清空了 Cookie,换了账号,甚至开了无痕模式,但网站似乎还是认得出你。这不是错觉——它靠的是一种不依赖 Cookie 的识别方式:浏览器指纹。

上一篇讲 WebRTC 泄漏时提到,真实 IP 只是暴露身份的其中一条通道。浏览器指纹是另一条,而且更难摆脱。这篇拆解它由哪些信息构成。

什么是浏览器指纹

每次访问网站,你的浏览器都会主动或被动地交出一批环境信息:操作系统、屏幕分辨率、已安装字体、显卡型号、时区、语言等等。单独看,每一项都很普通,很多人都一样。

但当这些信息组合在一起,就可能形成一个几乎唯一的标识。就像单看身高、体重、发色都不足以确认一个人,但十几项特征叠加起来,重合的概率就微乎其微了。

关键区别在于:Cookie 是网站存到你设备上的,你可以删除;而指纹是网站根据你的设备特征算出来的,你删不掉。 除非改变设备本身的特征,否则清空 Cookie、换浏览器配置文件、开无痕模式,指纹往往依然稳定。

指纹由哪些信息构成

User-Agent 与平台信息

最基础的一层。User-Agent(UA)字符串声明了你的浏览器类型、版本和操作系统。配合 navigator.platformnavigator.language 等属性,构成身份的基本轮廓。

这一层最容易伪造,所以风控系统不会只信它,而是拿它和其他信号交叉验证——比如 UA 声称是 iPhone,却支持鼠标悬停事件,矛盾就出来了。

屏幕与显示参数

屏幕分辨率、可用区域、色深、设备像素比。这些值的组合比想象中更有区分度——尤其是多显示器、高分屏、缩放设置叠加之后。

Canvas 指纹

这是最经典也最有效的一项。原理是:让浏览器在一块隐藏的画布上绘制一段文字或图形,然后读取绘制结果的像素数据。

由于不同的显卡、驱动、操作系统、字体渲染引擎在处理同一段绘制指令时,会产生极其细微但稳定的差异,这段像素数据就成了一个高度稳定的标识。你看不到任何东西被画出来,但网站已经拿到了结果。

Canvas 指纹的稳定性很高——同一台设备上,它通常长期不变。

WebGL 指纹

和 Canvas 类似,但更进一步,利用 3D 图形渲染。它能读取到你的显卡型号和驱动信息(比如 "ANGLE (NVIDIA GeForce RTX 3060)"),并通过渲染一个 3D 场景来提取更细的硬件差异。

WebGL 暴露的显卡信息,也是判断虚拟机的重要依据——如果渲染器显示为 SwiftShader、llvmpipe 这类软件渲染器,说明背后很可能是虚拟机或无头浏览器。

已安装字体

网站可以通过测量文字的渲染尺寸,探测你系统里装了哪些字体。字体列表因人而异——装过特定软件、特定语言支持、特定设计工具的设备,字体组合各不相同,区分度相当高。

音频指纹

类似 Canvas,但用的是音频。让浏览器生成一段音频信号并处理,不同设备的音频栈会产生细微差异,从而形成标识。这一项比较隐蔽,普通用户几乎不会察觉。

硬件与系统信息

CPU 逻辑核心数(navigator.hardwareConcurrency)、设备内存(navigator.deviceMemory)、触摸支持、电池状态等等。每一项区分度都不高,但作为组合的一部分,仍然贡献信息量。

为什么风控系统看重指纹

对风控来说,指纹解决了一个 IP 解决不了的问题:跨 IP 追踪同一台设备。

一个人可以频繁更换 IP、代理、Cookie,但如果他的设备指纹不变,风控系统依然能把这些操作关联到同一台机器上。反过来,如果同一个指纹短时间内配合大量不同账号、不同 IP 出现,这本身就是高度可疑的批量操作特征。

这也是为什么"指纹浏览器"这类工具会出现——它们试图为每个账号伪造一套独立且一致的指纹,让每个身份看起来像来自不同的真实设备。但伪造指纹是一门难做到完美的技术:各项特征之间必须自洽,一处对不上就会露馅。

指纹能被彻底消除吗

很难,而且方向常常是反直觉的。

"隐身"未必更安全。 如果你把所有可探测的项目都屏蔽掉,反而会得到一个"什么都测不到"的异常指纹——这种设备极其罕见,本身就非常显眼。真正难追踪的,往往是那些"泯然众人"的普通配置,而不是刻意隐藏的配置。

部分对抗手段会引入新特征。 一些防指纹工具会给 Canvas 加随机噪声,让每次读取结果都不同。但"每次结果都变"这件事本身,也是一种可被识别的模式。

指纹在演进。 浏览器厂商在逐步限制一些高危 API(比如 Firefox 和 Safari 对 Canvas 和字体的默认防护),但新的探测方式也在不断出现。这是一场持续的攻防。

对大多数人而言,实际的隐私保护策略不是追求"零指纹",而是使用那些主动做指纹防护、且让你看起来尽量普通的浏览器或工具。

怎么查自己的指纹

打开环境检测,页面会列出你的浏览器暴露的主要指纹项目:UA、屏幕参数、显卡渲染器、时区、语言等,并标记其中看起来异常的部分。

有几个值得留意的信号:

这些检测全部在你的浏览器本地运行,不上传任何数据。

小结

浏览器指纹是一种不依赖 Cookie 的识别方式,由 UA、屏幕参数、Canvas、WebGL、字体、音频等十几项特征组合而成。它的价值在于跨 IP、跨 Cookie 追踪同一台设备,因此成为风控系统的核心工具之一。

指纹很难彻底消除,而且刻意隐藏往往适得其反——一个"太干净"的指纹比一个普通指纹更显眼。理解它的构成,能帮你判断自己的环境在网站眼中是什么样子,而这正是环境检测想帮你看清的。

现在就检测你的 IP 与浏览器环境
免费查询 IP 归属地与风控值,检测浏览器指纹泄漏,测试网络延迟。无需注册。

← 返回文章列表