三年前,拦截无头浏览器只需要看 UA 里有没有 HeadlessChrome。现在主流的反检测框架会伪造 UA、补齐 Sec-CH-UA、随机化 canvas 与 WebGL 指纹,甚至模拟真实的屏幕参数组合。单纯「字段黑名单」的规则引擎,对这类流量几乎失效。
从读字段到对账
成熟的思路是交叉验证:同一个事实从多个渠道各取一次,看它们是否自洽。屏幕宽度可以从 window.screen 读,也可以从 CSS 媒体查询反推;权限状态可以从 Notification.permission 读,也可以从 permissions.query 问。伪造者要骗过对账,就得把每一个渠道都补得滴水不漏——成本陡增。
记忆比单次判定更致命
还有一层是时间维度:同一个 IP + UA 的访客,两次访问报出两套不同的硬件指纹,这在真实设备上不会发生。好盾把稳定指纹组做成跨请求一致性记忆,一旦矛盾直接标记为伪造证据——这也是为什么伪装流量在我们的评分里很难靠重试洗白。
说到底,反检测是一场持续对抗。规则会过期,但对账结构和记忆机制不会。