我正在为我的网站构建一个bot-trap / crawler-trap:
页面上有一个隐藏链接,普通用户看不到,但机器人看到了。该链接也在robots.txt
中显示,因此Google
不会陷入陷阱。
当机器人打开隐藏页面时,IP会自动在MySQL
中标记为红色。
我的问题是:
.htaccess
文件,并添加新的IP,因此网络服务器本身将进行阻止。.htaccess
混淆,而是在每次有人加载页面时从IP
查找MySQL
表,然后在PHP
中决定如何处理用户。答案 0 :(得分:2)
我肯定会选择选项2.唯一的原因是我会非常不舒服,因为我一直在网站上随机播放.htaccess文件。这种唠叨的感觉就像在我的额头上一直持枪。
如果它是数据库驱动的话,最糟糕的情况可能发生在搞砸了,一些黑名单的IP仍然可以访问。有了htaccess,如果出现问题,不仅每个用户的体验都会搞砸,安全数据也会受到影响。
答案 1 :(得分:1)
而不是搞乱Apache httpd配置,如果你的脚本由于某种原因出错会导致你的网络堆栈崩溃,那么与fail2ban这样的系统集成会怎么样?
使用禁止工具阻止会更有效。
答案 2 :(得分:0)
哪种方式更好?这在很大程度上取决于你能做什么。经验法则是:
.htaccess
个文件 - 直接配置服务器。其他所有东西都只是你可以做的爬行,但是你应该放心,因为你无法做到这一点。因此,除非你努力做到最好,否则不要太在意。