浏览器指纹 (Browser Fingerprinting) 是一种通过收集用户浏览器和设备的固有特征 (屏幕分辨率、已安装字体、插件、时区、语言设置、GPU 信息等) 并加以组合,从而识别特定用户的技术。
与需要用户同意才能存储的 Cookie 不同,指纹信息来源于浏览器在正常 Web 访问中发送的数据,用户往往在不知情的情况下被追踪。EFF (电子前沿基金会) 的 Panopticlick 项目研究表明,浏览器指纹的唯一性高达 83.6%,能够识别绝大多数用户。
指纹的主要构成要素包括:User-Agent 字符串、屏幕分辨率和色深、时区和语言设置、已安装的插件和字体、Canvas 指纹 (通过 Canvas API 绘制图像的哈希值)、WebGL 指纹 (GPU 渲染特性)、AudioContext 指纹 (音频处理特性) 等。
在短链接服务的点击分析中,当 Cookie 不可用时 (第三方 Cookie 被屏蔽、隐私浏览模式),指纹技术有时被用于估算独立用户数。但 GDPR 和 ePrivacy 指令将指纹与 Cookie 同等对待,要求获得用户同意后方可使用,合规性不容忽视。
针对指纹追踪的防护措施方面,Firefox 的增强型跟踪保护可拦截指纹脚本,Safari 的智能防跟踪功能可降低指纹精度,Brave 浏览器则提供指纹信息随机化功能。相关书籍可在 Amazon 上查阅。