如何禁止爬虫、机器人、假用户并仅允许特定浏览器?

问题描述 投票:0回答:1

我正在尝试制作一个好的网络流量过滤器,我的目标是禁止所有机器人、爬虫、蜘蛛、非真实用户,并只允许特定的浏览器。

我在 PHP 中做了一些测试,在 JavaScript 中做了一些测试,但我不认为它做得很好。我想请教一些专家的意见。我认为使用 PHP + JavaScript + robots.txt + .htaccess 的组合可以做到这一点。

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

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

做到这一点的最佳方法是什么?简而言之,检测浏览器仅允许 Firefox,并避免所有假用户、机器人、蜘蛛、爬虫和其他垃圾。

javascript php .htaccess bots browser-detection
1个回答
2
投票

好吧,让我尝试在这里提供一些想法。

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

  1. 机器人会将合法的爬行者拒之门外;
  2. 在客户端使用一些 Javascript 验证来阻止大多数爬虫(这些爬虫很少能够运行 Javascript);
  3. 在服务器端,使用用户代理服务来识别和过滤用户代理;
  4. 跟踪 IP 地址,以便您可以一次性禁止“已知违规者”;

为了对#2 进行更多扩展,您的着陆页可以使用 JavaScript 来删除具有“已知”值的 cookie,该值可以映射回发起者。一个示例是获取用户代理和 IP 地址并计算哈希值。这仍然可以伪造,但大多数犯罪者只会决定忽略您的网站,而不是努力绕过您的保护措施。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.