1. 指纹识别中的 CSS 特性是什么
浏览器提供了一系列 与 CSS 相关的 API 和功能,这些可以用于识别或指纹化浏览器环境。这些包括:
CSS.supports(property, value):检查浏览器是否支持特定的 CSS 属性或值。document.styleSheets:列出所有已加载的样式表,这可能显示已安装的扩展或自定义 CSS。- CSS 特性查询:平台可以检测对现代布局模块的支持,如
@supports、CSS Grid、Flexbox、Houdini API 等。 - CSS 自定义属性和值:某些脚本会测量对已定义的
@property规则的响应,或评估CSS.registerProperty()。 - 屏幕方向、媒体查询和 prefers-color-scheme:这些都会影响 CSS 功能,并经常被抓取用于指纹增强。
所有这些 “CSS 特性指纹” 共同构建了您使用的浏览器和设备的配置文件。
2. 平台如何检测基于 CSS 的指纹
CSS 指纹会在正常网站渲染过程中或通过脚本测试悄无声息地被收集。检测方法包括:
- 枚举支持的功能:脚本通过循环检查
CSS.supports()或使用解析样式检查来评估 Grid、Flexbox、backdrop-filter 或自定义元素布局行为。 - 样式表检查:通过扫描所有已加载的样式表,指纹器可以检测注入或修改的 CSS,有时与自动化工具或 CSP 绕过相关联。
- 基于字体的布局变化:平台可能会观察自定义字体或文本样式如何影响渲染布局,并通过 DOMRect 或 boundingRect API 进行测量。
- 元素中的动态绘制:使用
boundingClientRect、scrollIntoView或window.getComputedStyle()来评估元素在不同布局下的反应,可以揭示工具线索。 - CSS Houdini 导出:暴露如
CSS.paintWorklet或CSS.animationWorklet等 API 的浏览器会被更高精度标记——特别是在金融或无头浏览器检测中。
基于 CSS 的特性特别擅长区分 真实人类浏览配置文件 与 工程化伪装环境,使其成为现代反多账户或反机器人系统的关键目标。
3. FlashID 如何掩蔽 CSS 特性
FlashID 采用稳健且模块化的 CSS 指纹控制方法,支持:
- 伪装
CSS.supports()行为:我们拦截并重写 CSS 功能响应,以反映一致的用户定义浏览器配置文件。 - 隔离的样式表环境:FlashID 确保
document.styleSheets内容特定于每个浏览器实例,并可修剪以防止样式表注入检测等泄漏。 - 字体渲染一致性:我们通过确保与字体、间距和变换相关的计算样式在会话中保持稳定,来维护特定配置文件的 CSS 值。
- 布局行为自定义:准确模拟如
display: grid、flex 规则或自定义值解析等 CSS 布局选择,以保持浏览器真实性。 - 绘制 Worklet 支持掩蔽:FlashID 可以模拟或抑制高级 CSS Houdini API 如
paintWorklet,使检测更难。 - 配置文件感知的响应行为:媒体查询、prefers-color-scheme 和屏幕相关样式与浏览器配置文件的其余部分协调一致。
通过这些高级自定义,FlashID 确保 CSS 指纹 不会泄露浏览器身份,每个配置文件都表现得像运行在独特、隔离的设备上。
您可能还喜欢

