跳至内容
本页由英文自动翻译。 查看英文原文
词汇表·指纹识别

WebGL 指纹识别

使用WebGL图形信息和渲染输出来识别设备。

定义

WebGL 指纹识别使用 WebGL API(GPU 加速的 2D 和 3D 图形的浏览器界面)来收集设备特定信号:图形供应商和渲染器字符串、支持的参数和扩展以及渲染场景的像素。

图表:WebGL 供应商字符串和渲染像素组合成 GPU 链接标识符
编辑图(简化插图,不是产品屏幕截图)。

它是如何运作的

  • 脚本打开 WebGL 上下文并使用 getParameter() 和支持的扩展列表查询功能。
  • 如果可用,WEBGL_debug_renderer_info 扩展会公开 UNMASKED_VENDOR_WEBGL 和 UNMASKED_RENDERER_WEBGL — 图形驱动程序的供应商和渲染器字符串。
  • 它还可以渲染 3D 场景并对结果进行哈希处理,类似于画布指纹识别。

为什么这很重要

  • GPU 细节随着时间的推移保持稳定,并且在不同设备之间有所不同,这使得它们成为强大的信号。
  • 不匹配很重要:声称是 Mac 的配置文件同时报告仅包含 Windows 的 GPU 驱动程序字符串很容易被标记。

限制和常见误解

  • “每个网站都可以读取我的 GPU 模型。” MDN 指出,根据浏览器隐私设置,调试扩展可能仅限于特权上下文或根本无法工作;当Firefox的privacy.resistFingerprinting启用时,它被禁用。
  • “禁用 WebGL 会让我隐形。”关闭它本身就是一种罕见的、引人注目的特征,并且会破坏需要它的网站。
示例: 读取未屏蔽的渲染器字符串的页面可能会看到特定的 GPU 和驱动程序系列,它们与屏幕尺寸和字体一起大大缩小了设备的范围。

没有浏览器或代理可以保证帐户不会受到限制。遵守各个平台的规则。

相关术语

  • 画布指纹识别 — 通过渲染 HTML 画布绘图的微小差异来识别设备。
  • 浏览器指纹 — 浏览器和设备特征的组合,可以识别没有 cookie 的浏览器。

来源

检查了2026-11-07。

← 所有术语表