1. 什么是日期/时间指纹识别
日期/时间指纹识别 是指网站用于从浏览器中提取和分析本地化时间相关值的技巧,主要通过检查 Date 对象及其在各种上下文中的输出。例如,从以下函数的输出:
new Date().toString()new Date().toISOString()Intl.DateTimeFormat().resolvedOptions()Date.now()performance.now()
这些函数暴露了关键用户数据,例如:
- 本地时间与 UTC
- 时区偏移
- 夏令时行为
- 基于区域设置的时间格式化
虽然实际时间是动态的,但 JavaScript 例程返回时间数据的模式和格式在来自同一地区或时区的用户之间是一致的——从而将其转化为可指纹化的信号。
2. 网站如何利用日期/时间指纹
高级跟踪系统和指纹引擎使用时间数据来:
- 检测时区偏移:比较本地化时间字符串及其与 UTC 的偏移可以帮助确定用户的位置。
- 检查本地时间有效性:网站可以验证用户的时间是否与其声称的位置一致,从而拒绝来自不一致环境会话。
- 基于时区的指纹哈希:时区信息结合当前屏幕时间、地区格式和夏令时日期逻辑,允许平台构建区分哈希。
- 与服务器时间比较:时间差异或异常日期格式可能被用作软性警告标志,以确定会话是否被模拟、自动化或上下文不符。
- 多账户一致性检查:平台比较不同账户对相同日期/时间测试请求的响应。如果结果重叠,则可能触发反欺诈逻辑。
在这种情况下,即使几秒钟的漂移或不匹配的时区标签(Europe/Paris 与 "Asia/Shanghai")也能揭示配置文件运行在同一台机器上,从而破坏账户隔离努力。
3. FlashID 如何操纵和保护日期/时间指纹
FlashID 确保每个浏览器配置文件输出合理且一致的时间值,精确与伪造指纹的其他部分(时区、语言、IP 位置)对齐,以规避关联系统。
您可能还喜欢

