标签页切换检测测试
这个标签页
正被监视吗?
本页会像追踪网站那样检测标签页切换:监听 visibilitychange 和窗口 blur 事件,轮询 document.hasFocus(),并对你的 canvas、WebGL 和音频输出计算哈希。切走再切回来,看看它捕捉到了什么,然后开启 Focus Spoofer 再试一次。
visibilityState
…
document.hasFocus()
…
Canvas 哈希
…
WebGL 哈希
…
音频哈希
…
事件日志
焦点测试
- 在工具栏中为此标签页开启 Focus Spoofer。
- 切换到其他标签页或最小化窗口,持续几秒钟。
- 切回来。日志中没有 blur 或可见性记录,就说明它在正常工作。
指纹测试
- 在扩展程序关闭时重新加载几次,三个哈希值保持不变。
- 开启后再重新加载,哈希值会每次加载都改变。
- 在设置中关闭了指纹随机化?那么哈希值会保持不变,这是设计如此。
每项检测的含义
| 检测项 | 无保护时,切换标签页后 | 有了 Focus Spoofer |
|---|---|---|
visibilitychange / document.hidden | 日志显示 可见性:hidden,随后是 可见性:visible | 无记录;hidden 保持 false |
窗口 blur / focus | 日志显示 窗口失去焦点,随后是 窗口获得焦点 | 无记录 |
document.hasFocus() | 你离开时为 false | 始终为 true |
| Canvas、WebGL、音频哈希 | 每次重新加载都相同(稳定的指纹) | 每次重新加载都会改变,除非在设置中关闭了指纹随机化 |
还有一些信号是任何浏览器扩展程序都无法对所有网站隐藏的,比如服务器端的活动时间。Focus Spoofer 能做什么、不能做什么,请参阅常见问题。