我最近注意到一些公司已经开始提供基于浏览器指纹检测的机器人和抓取保护服务,然后阻止特定指纹访问站点(而不是阻止 IP)。
这里有一些例子:
- http://www.distilnetworks.com/
- http://www.fireblade.com/
- http://www.shieldsquare.com/how-it-works.php
它们之间存在差异,但显然所有这些公司都使用 Javascript 来获取详细的浏览器特定字段,如插件、字体和屏幕大小以及分辨率,将它们与可以从 HTTP 标头中获得的内容结合起来,并使用这些数据对客户端进行分类作为机器人/人类。
那么我的问题是:这种方法是否足够强大?攻击者欺骗 Javascript 客户端嗅探的所有数据字段(插件、字体、操作系统等)有多难?这种方法提供了什么样的保护措施 - 仅针对不太复杂的机器人,还是真的那么难以克服?