阻止不需要的访问者:htaccess,iptables,或者只是数据库


Blocking Unwanted Visitors: htaccess, iptables, or just database

我们最近遇到了一个客户端遇到了机器人注册帐户以及寻找不存在的目录(/phpmyadmin/、/pma/、/members/、/admin/等)的问题。我们已经创建了一种方法来浏览访问日志并识别恶意IP,但我想知道最有效的解决方案。

在最初的刮伤之后,我尝试在iptables中添加大约10000个要屏蔽的IP。这似乎让事情变得有点慢,我开始想,什么才能最好地阻止冒犯的机器人/恶意用户。使用iptables、htaccess或简单的数据库。数据库方法似乎是最简单的,但如果在htaccess或iptables级别阻止恶意用户更有效,我宁愿不让他们浪费查询。

有没有一种方法更适合大量地址?每种情况的考虑因素(如果有的话)是什么?

这是一个运行PHP/MySQL应用程序的简单Web服务器。

谢谢。

对于批量注册部分,应该由一个简单有效的captcha来完成工作。

甚至不要试图阻止他们,你会阻止合法流量,减慢你的网站速度,他们有无限多的ip可供使用,只是要确保他们无法到达不该到达的地方。

不要不断更新IP地址列表(不断更改)或用户代理(很容易被欺骗),而是在所有服务器变量中阻止特定的黑客模式。看见http://perishablepress.com/5g-blacklist-2013/

您也可以尝试通过用户代理字符串进行阻止(这些字符串应该显示在日志中)

//in htaccess
BrowserMatchNoCase SpammerRobot bad_bot
Order Deny,Allow
Deny from env=bad_bot

http://www.thesitewizard.com/apache/block-bots-with-htaccess.shtml

相关文章: