跳至正文
中文
立即开始

浏览器指纹识别

浏览器指纹识别是一种跟踪和风险分析技术,通过综合浏览器、设备和渲染特征来识别客户端,而不只依赖 Cookie 或 IP 地址。

文章目录(9 个章节)

浏览器指纹识别的工作原理

用户访问网站时,网站会收到 User-Agent、浏览器接受的语言等信息。JavaScript 随后可以查询浏览器 API,并发送更多设备及其渲染行为信息。网站会将这些信息组合成特征记录或哈希值,再与后续访问进行比较。

与 Cookie 不同,浏览器指纹不是从存储的标识符中读取,而是每次重新推断。匹配结果基于概率:相似设备可能产生相同结果,浏览器更新以及设置或硬件变化也可能改变指纹。

浏览器指纹使用的特征

  • **软件:**浏览器版本、操作系统和支持的功能。
  • **显示与硬件:**视口、屏幕尺寸、色彩深度、触控支持和逻辑处理器数量。
  • **渲染:**受图形硬件、驱动程序和软件影响的 Canvas、WebGL 和 AudioContext 输出。
  • **区域设置与配置:**时区、语言、字体可用情况和无障碍偏好设置。

服务还可能将这些信息与 TLS 指纹识别结合使用。TLS 指纹来自连接的 ClientHello 模式,而不是 JavaScript 浏览器 API。

方法 信息来源 发生变化的情况
浏览器指纹 浏览器和设备特征 软件、设置或硬件发生变化
Cookie 已存储的网站标识符 被清除、拦截或过期
IP 地址 网络连接 网络或代理发生变化

网站可以把浏览器回传的 Cookie 用作该浏览器环境的稳定标识符,但 Cookie 无法证明浏览器、设备或用户的身份。浏览器指纹用于估算两次访问是否来自同一客户端。网站通常会将这三类信号关联起来分析。

浏览器指纹识别为何会影响代理使用

轮换代理会改变网站看到的 IP 地址,但不会改变 JavaScript 执行结果、显示属性或常规浏览器请求头。如果同一个稳定指纹在短时间内对应多个 IP,网站可能会认定这些请求相互关联。

地区信息不一致也可能影响风险评分。例如,IP 位于一个国家,而时区却与该国明显不匹配,这可能显得异常,不过正常旅行的用户也可能出现同样的情况。浏览器指纹只是机器人检测的判断依据之一,请求频率、Cookie 和账号历史记录同样重要。

负责任地应对浏览器指纹识别

  • 使用当前版本的主流浏览器,并确保支持网站所需的功能。
  • 在一次相关会话期间,始终使用同一套前后一致的浏览器环境和 Cookie 存储。
  • 不要在不同请求之间轮换伪造的参数值。相互矛盾的设置可能导致页面无法正常运行,也会让客户端更容易被识别。
  • 遇到限速时降低请求频率,并遵守网站条款和 robots.txt 规则。

常见问题

代理能隐藏我的浏览器指纹吗?

代理本身无法做到。代理会改变网站看到的 IP 地址,但浏览器和设备特征通常保持不变。

无痕模式能阻止浏览器指纹识别吗?

不能。无痕模式会使用独立的临时 Cookie 存储区,并且不会在无痕会话结束后保留本地浏览记录,但仍会暴露许多相同的浏览器、显示和渲染属性。

我的浏览器指纹是唯一且永久不变的吗?

不一定。浏览器指纹可能具有足够的辨识度,可识别来自同一客户端的重复访问,但相似设备的指纹也可能重合;浏览器、驱动程序、硬件或设置更新后,指纹也可能发生变化。

相关术语

查看全部术语