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