1

我正在为我的网站构建一个 bot-trap / crawler-trap:

页面某处有一个隐藏链接,普通用户看不到,但机器人可以看到。链接也标明了robots.txt,所以Google不会掉入陷阱。当机器人打开隐藏页面时,IP 会自动在MySQL.

我的问题是:

  1. 当一个新的 IP 被标记时,哪种方式更好地阻止它:重新生成.htaccess文件,并添加新的 IP,这样网络服务器本身就会进行阻止。
  2. 不要乱来,而是从每次有人加载页面时.htaccess查找表格,然后决定如何处理用户。IPMySQLPHP
4

3 回答 3

2

我肯定会选择选项 2。唯一的原因是我会非常不舒服,因为我一直在网站上随机播放一个 .htaccess 文件。这是一种唠叨的感觉,就像我的额头上一直有枪一样。

如果它是由数据库驱动的,那么可能发生的最糟糕的情况是某些黑名单 IP 仍然可以访问。如果出现问题,使用 htaccess,不仅每个用户的体验都会变得混乱,安全数据也会受到损害。

于 2013-04-30T15:24:08.573 回答
1

与其乱用 Apache httpd 配置,如果您的脚本由于某种原因出错会使您的 Web 堆栈崩溃,那么与fail2ban 之类的系统集成呢?

使用禁止工具进行屏蔽会更有效。

于 2013-04-30T15:25:50.707 回答
0

哪种方式更好?这在很大程度上取决于你能做什么。经验法则是:

  • 不要使用.htaccess文件 - 直接配置您的服务器。
  • 将 Apache 与您的 Mysql 直接连接以进行身份​​验证。
  • 在 TCP/IP 层 (Iptables) 中阻止传入流量

其他一切都只是你可以做的爬行,但你应该放心,你会这样做,因为你不能做对。所以不要太在意,除非你努力做到最好。

于 2013-04-30T15:23:53.560 回答