我正在努力建立一个良好的网络流量过滤器,我的目标是禁止所有机器人,抓取工具,蜘蛛,非真实用户并仅允许特定的浏览器。
我已经在PHP中完成了一些测试,其他人在JavaScript中完成了测试,但我觉得它并没有完全做得好。我想要一些专家的意见。我认为使用PHP + JavaScript + robots.txt + .htaccess的组合可以做到这一点。
我知道用户代理可以伪造,但我想知道是否有更好的方法来检测它。例如,我想只允许用户使用Mozilla Firefox(无论版本如何)。
所有其他浏览器应该进入排除列表或排序,这就像一个过滤器。
最好的方法是什么?简而言之,检测浏览器只允许Firefox,并避免所有虚假用户,机器人,蜘蛛,爬虫和其他垃圾。
答案 0 :(得分:1)
那么,让我试着在这里提供一些想法。
您应该使用多种技术组合:
要在#2上进一步扩展,您的目标网页可以使用JavaScript删除具有“已知”值的Cookie,该值可以映射回发起方。一个示例是获取用户代理和IP地址并计算哈希。这仍然是伪造的,但大多数违法者只会决定忽略您的网站,而不是努力绕过您的保护措施。
希望这有帮助。