【发布时间】:2017-05-29 20:45:35
【问题描述】:
我正在尝试制作一个好的网络流量过滤器,我的目标是禁止所有机器人、爬虫、蜘蛛、非真实用户并只允许特定的浏览器。
我在 PHP 中做了一些测试,在 JavaScript 中做了一些测试,但我不觉得它做得很好。我想请一些专家的意见。我认为使用 PHP + JavaScript + robots.txt + .htaccess 的组合可以做到。
我知道用户代理可以被伪造,但我想知道是否有更好的方法来检测它。例如,我想只允许用户使用 Mozilla Firefox(无论版本)。
所有其他浏览器都应该进入一个排除列表或类似的列表,这就像一个过滤器。
最好的方法是什么?简而言之,检测浏览器只允许 Firefox 并避免所有虚假用户、机器人、蜘蛛、爬虫和其他垃圾。
【问题讨论】:
-
这里的麻烦是任何东西都可以被伪造,包括IP地址。您可以在浏览器上运行一些 javascript 来尝试检测浏览器,而不是依赖用户代理,但这也可以被伪造。我的问题是:你真正想要完成什么?为什么要根据浏览器过滤?
-
@RogerCracel 我只是想避免所有垃圾(蜘蛛、机器人、爬虫等),只关注使用 Firefox 的真实用户。我知道一切都可以伪造。但我会寻找最好的方法来找出答案,最后是否有一些用户制造了假货并不重要。重要的是过滤最大值并使该任务变得困难。
标签: javascript php .htaccess browser-detection robot