如何禁止爬虫,机器人,虚假用户并只允许特定的浏览器?

时间:2017-01-14 16:22:58

标签: javascript php .htaccess browser-detection robot

我正在努力建立一个良好的网络流量过滤器,我的目标是禁止所有机器人,抓取工具,蜘蛛,非真实用户并仅允许特定的浏览器。

我已经在PHP中完成了一些测试,其他人在JavaScript中完成了测试,但我觉得它并没有完全做得好。我想要一些专家的意见。我认为使用PHP + JavaScript + robots.txt + .htaccess的组合可以做到这一点。

我知道用户代理可以伪造,但我想知道是否有更好的方法来检测它。例如,我想只允许用户使用Mozilla Firefox(无论版本如何)。

所有其他浏览器应该进入排除列表或排序,这就像一个过滤器。

最好的方法是什么?简而言之,检测浏览器只允许Firefox,并避免所有虚假用户,机器人,蜘蛛,爬虫和其他垃圾。

1 个答案:

答案 0 :(得分:1)

那么,让我试着在这里提供一些想法。

您应该使用多种技术组合:

  1. 机器人将保持腿部爬行;
  2. 在客户端使用一些Javascript验证来阻止大多数抓取工具(这些很少能够运行Javascript);
  3. 在您的服务器端,使用user agent service来识别和过滤用户代理;
  4. 跟踪IP地址,以便您可以对“已知违规者”进行一次性禁令;
  5. 要在#2上进一步扩展,您的目标网页可以使用JavaScript删除具有“已知”值的Cookie,该值可以映射回发起方。一个示例是获取用户代理和IP地址并计算哈希。这仍然是伪造的,但大多数违法者只会决定忽略您的网站,而不是努力绕过您的保护措施。

    希望这有帮助。