如何在多次错误登录后封锁 IP 地址

如何在多次错误登录后封锁 IP 地址

我有一个需要用户登录的 Web 应用程序。服务器上有一个 php 页面负责执行此操作(它将根据 mysql 表检查用户输入)。如果用户多次尝试使用错误密码登录,我想阻止他/她的 IP 地址。

最好的方法是什么?

我可以创建一个新的 mysql 表并将被阻止的 IP 地址存储在那里,但这是一个每次都必须执行的查询,以检查 IP 地址是否被阻止。如果 IP 地址被阻止,那是有充分理由的,我想花费尽可能少的资源来阻止它。那么,阻止 IP 地址的最佳或最快方法是什么。我使用的服务器操作系统是 Ubuntu。所以我想也许 Ubuntu 中有一些内置方法。

答案1

我建议你看一下fail2ban[1]。它主要用于防止暴力破解SSH,但还有很多其他模块[2],它们对WordPress和其他WebApps非常有用。

[1]http://www.fail2ban.org/wiki/index.php/Main_Page

[2]http://www.techrepublic.com/blog/linux-and-open-source/use-fail2ban-to-blacklist-ip-addresses-and-alert-you-to-attacks/

最好的,列夫

相关内容