浏览器指纹是什么?原理、组成与检测

浏览器指纹是网站根据浏览器和设备暴露的多项特征,组合形成的识别信息。即使没有原来的 Cookie,网站也可能据此关联两次访问。但它不是姓名或设备序列号,指纹相同并不能单独证明是同一个人。

本文另有 English 版本

浏览器指纹是什么?原理、组成与检测
本页目录

浏览器指纹如何形成和识别访问?

浏览器指纹识别通常有三个环节:读取当前环境的特征,将特征组合起来,再与之前的访问记录比较。这里的“识别”可能只是判断环境相似,不一定是在确认某个真人的身份。

例如,一个网站读取到浏览器版本、屏幕尺寸、语言和 WebGL 渲染器,另一个网站还测试了 Canvas、字体和音频。它们采集的内容不同,形成的结果也可能不同。不存在所有网站共用的“全球浏览器指纹编号”。

有些系统把特征转换成一串哈希值。哈希是对输入计算得到的摘要,并不是浏览器里预先存着的设备身份证。输入发生变化时,哈希可能变化;相同哈希也需要结合采集方法和其他信息解释。

网站还可能比较部分特征是否相近,而不是要求整串结果完全一致。有关信息如何读取,可继续看网站如何获取浏览器信息。

浏览器指纹包含哪些信息?

不同网站不会采集同一套信号,浏览器也不一定允许网页读取所有项目。常见信号可以分为以下几类。

信号网站通常如何获得什么变化可能影响结果
浏览器与系统User-Agent、Client Hints、功能支持情况浏览器升级、系统变化、信息限制
屏幕与设备分辨率、像素比、部分硬件提示显示设置、屏幕或设备变化
语言与时区浏览器语言、系统时区和日期格式系统设置、浏览器配置
Canvas绘制特定文字或图形,再读取渲染结果字体、图形环境、浏览器保护机制
WebGL图形接口返回的信息与渲染特征GPU、驱动、浏览器实现与信息限制
字体测试候选字体或比较文本尺寸字体安装、字体替换与访问限制
音频用 Web Audio 处理测试信号并比较结果音频实现、版本与隐私保护

字体检测通常是在测试一组候选字体,并非直接读取完整的系统字体清单。音频测试也不一定使用麦克风:EnvTrace 使用离线音频处理生成测试结果,不采集您的声音。

这些信号单独看可能很常见,组合后可能更容易区分环境。但哪一项最有区分度,需要具体样本和方法支持,不能一概而论。进一步解释见 Canvas 指纹、WebGL 指纹与字体和文本渲染。

浏览器指纹、Cookie 和 IP 有什么区别?

Cookie 是网站让浏览器保存、并在符合条件的请求中发送的数据。浏览器指纹来自对环境特征的观察;IP 则是网站看到的网络出口地址。它们可以一起参与判断,但来源不同。

对比项Cookie浏览器指纹公网 IP
来源网站写入浏览器的数据浏览器与设备可观察的特征当前网络连接的出口
常见用途登录会话、偏好、访问标识区分或关联环境、辅助风险判断网络位置、连接与信誉判断
清除 Cookie 后被清理的 Cookie 不再可用许多特征仍可重新读取通常不变
更换网络后通常仍保留设备侧特征通常仍在可能改变

清 Cookie 可以移除一条关联线索,换 IP 可以改变网络信息,但两者都不是通用的“重置身份”操作。完整对比可看 Cookie 与浏览器指纹有什么区别。

网站为什么收集浏览器指纹?

网站可能用环境特征辅助反欺诈、发现异常登录、区分自动化访问,或进行广告和访问关联。是否采集、使用哪些信号、保留多久,都取决于具体网站。

例如,账号安全系统发现一次登录的环境与历史记录不同,可能要求补充验证。但检测到某项变化不等于账号一定会受限:平台还可能考虑登录位置、账号状态、访问行为等信息。EnvTrace 的检测结果也不代表某个平台的内部判断。

跨站追踪还需要相应的数据收集和关联渠道。仅仅两家网站显示相同的某项特征,并不能证明它们已共享访问记录。

浏览器指纹能识别同一个人吗?

浏览器指纹本身描述的是可观察的环境。一个人可以使用手机、电脑和多个浏览器;不同的人也可能共用同一个浏览器。因此,环境与真人并不一一对应。

如果网站将环境特征和登录账号、邮箱等信息结合,可能把一次访问关联到已知身份。此时判断来自多类信息,不是指纹单独提供了姓名。

“在某次测试样本中唯一”也不等于“全世界唯一”。同样,指纹不同不代表访问无法关联。可继续看设备指纹与浏览器指纹能识别一个人吗。

清 Cookie、无痕模式和换 IP 会改变指纹吗?

操作主要改变什么不能由此直接推断什么
清除 Cookie所选范围内的 Cookie 数据网站无法重新关联访问
打开无痕窗口与普通窗口隔离的临时会话;可能增加保护所有指纹信号消失或完全不变
使用 VPN 或代理被覆盖流量的网络出口浏览器和设备特征一起重置
更新或更换浏览器版本、实现和部分可观察特征网站一定将您当成新人

详细边界分别见无痕模式能隐藏浏览器指纹吗、换 IP 会改变浏览器指纹吗和清除 Cookie 后为什么仍可能被关联。

如何检测和理解自己的浏览器指纹?

检测的用途是看清当前测试读到了哪些信息,以及同一测试条件下什么发生了变化。

  1. 在普通窗口打开 EnvTrace 浏览器指纹检测,记录 Canvas、WebGL、字体、屏幕、语言和时区等字段。
  2. 保持网络和设置不变,在同一页面复测。先确认结果是否稳定,避免把偶然失败或数据缺失当成环境变化。
  3. 如果要比较无痕模式,再在同一浏览器的无痕窗口打开同一检测页面。比较具体字段,而不只看总分或一串哈希。
  4. 记录测试日期、浏览器版本和变更条件。一次只改变一个条件,才更容易解释差异。

EnvTrace 的 Canvas 哈希来自固定绘制内容,字体结果来自候选字体测试;其他网站若使用不同输入,结果可能不同。空值也可能来自不支持、被限制或测试失败,不能直接解释为“无法被识别”。

检测页面只能描述自身采集的信号,不会告诉您其他网站是否已在追踪,也不能证明环境对某个平台一定安全。

如何减少浏览器指纹追踪?

可以从浏览器已有的隐私保护开始:保持更新,使用适合自身需求的跟踪保护,并限制不必要的追踪脚本。部分浏览器通过减少暴露、标准化返回值或随机化特征降低关联能力,具体效果取决于实现。

随意修改大量参数或安装多个修改指纹的扩展,并不保证更难追踪。某些组合还会影响兼容性,或让环境表现更少见。有关技术路线可看浏览器如何降低指纹识别。

参考资料

常见问题

浏览器指纹和指纹浏览器是一回事吗?
不是。浏览器指纹是网站从环境特征中形成的识别信息;指纹浏览器是一类管理多个浏览器配置文件及部分环境参数的软件。管理参数不等于能阻止所有关联。
浏览器指纹是唯一的吗?
不保证。唯一性取决于采集字段、计算方法和比较样本。两个环境可能得到相同结果,同一环境也可能因版本、设置或保护机制变化而得到不同结果。
清除 Cookie 能删除浏览器指纹吗?
不能直接删除。清除 Cookie 移除的是浏览器中的存储数据;网站仍可能重新读取屏幕、语言和渲染特征。若再次登录原账号,账号本身也能关联访问。
无痕模式和 VPN 能阻止指纹识别吗?
都不能单独保证。无痕模式主要隔离会话存储,VPN 主要改变网络出口。浏览器是否限制其他信号,取决于具体实现和设置。
指纹检测结果不同,说明网站认不出我了吗?
不能这样推断。结果不同只说明这次测试采集或计算的结果有变化;网站可能使用不同字段,并结合账号、Cookie、网络和历史信息判断。

查看浏览器暴露的信号

检测 Canvas、WebGL、字体与设备信息。

检测浏览器指纹→
继续阅读

相关文章