浏览器指纹(Browser Fingerprinting)是一种无需 Cookie 就能唯一识别并追踪用户的技术。
它把浏览器、操作系统、硬件、网络环境等能获取到的公开参数组合起来,生成一段高度特化的“指纹”字符串,就像给每台设备打上了肉眼看不见但服务器能认出的条形码。
✅ 通俗比喻
- Cookie 相当于你主动递给网站的“身份证”。
- 浏览器指纹则是网站根据你走路姿势、衣服颜色、头发长度、手机型号等肉眼可见特征拼出来的“速写画像”——你什么都没给,但它照样能认出你。
✅ 指纹采集的常见字段(只列典型)
| 维度 | 示例字段 |
|---|---|
| 浏览器内核 | User-Agent、品牌、版本 |
| 屏幕 | 分辨率、色深、可用区域 |
| 字体 | 系统已安装字体列表(Canvas 枚举) |
| 显卡 | WebGL 渲染器、Vendor、ALU 数量 |
| 时区 & 语言 | Intl、timezoneOffset |
| 插件 & MIME | Flash、PDF 阅读器、ActiveX |
| 音频 | AudioContext 采样微差异 |
| 硬件并发 | CPU 核心数、设备内存 |
| 网络 | WebRTC 本地 IP、DoH 设置 |
| 输入 | 触摸支持、最大触点数 |
单看每一项都很普通,组合起来却可能“全球唯一”。
✅ 指纹三大特点
- 静默:无需任何存储,用户无感知。
- 跨域:同一浏览器访问不同站点,指纹通常不变。
- 难清除:删 Cookie、开无痕、清缓存都没用;换浏览器或装插件才可能破坏。
✅ 指纹用途
- 广告精准投放、反欺诈、机器人检测、多账号识别、灰产追踪。
- 银行/支付平台用来判断“是否同一台设备”,防止盗号。
- 部分站点用指纹限制“注册多账号撸羊毛”。
✅ 如何降低指纹唯一性(“搅乱画像”)
| 方法 | 说明 |
|---|---|
| 指纹随机化插件 | CanvasBlocker、Trace、Chameleon(每次返回噪声)。 |
| 指纹一致化工具 | Tor Browser 让所有用户返回完全相同的指纹。 |
| 多浏览器/虚拟机 | 物理隔离,彻底分割身份。 |
| 关闭不必要 API | 禁用 WebGL、Canvas、WebRTC(可能破坏正常网站)。 |
| 使用 Safari/Brave | 最新版已内置指纹随机化或限制枚举接口。 |
✅ 一句话总结
浏览器指纹就是网站偷偷给你画的一幅“速写”,
你看不见、删不掉、换设备才失效;
想对抗它,要么混入人群(Tor),要么不停变脸(随机化插件)。


