1
2
你在尼克斯机器上吗?这类事情最好留在操作系统级别,使用 iptables 编辑: 作为对评论的回应,是的(差不多)。然而,其思想是IPtables可以独立工作。您可以将某个阈值设置为Throttle(例如,在端口80TCP上阻止超过x个请求/分钟的请求),这都是透明处理的(即,您的应用程序确实不需要了解任何有关它的信息,就可以进行动态阻止)。 如果您完全控制了该框,我建议使用iptables方法,并且更愿意让防火墙处理节流(优点是,您不需要将此逻辑构建到Web应用程序中,它可以将资源保存为在请求到达您的Web服务器之前丢弃的请求)。 否则,如果您认为阻塞不会是一个巨大的组件(或者您的应用程序是可移植的,并且不能保证访问iptables),那么将该逻辑构建到应用程序中会更有意义。 |
2
5
看一看 fail2ban . 一个python框架,它允许您从跟踪日志文件中获取错误行为模式的IP表块。 |
3
0
我认为应该是用户名加上IP块的组合。不仅仅是IP。 |
4
0
您正在查看自定义锁定代码。在开放源码世界中,有些应用程序包含各种风格的此类代码。也许您应该看看其中的一些,尽管您的需求非常简单,所以标记一个IP/用户名组合,并利用它在X时间内阻塞一个IP。(注意,我说的是阻止IP,而不是用户。用户可以尝试通过有效的ip/username/pw组合进行联机。) 事实上,您甚至可以保留用户登录的痕迹,当使用3个坏用户名/pw组合从未知IP登录时,请将该IP锁定在您希望该用户名使用的时间内。(请注意,许多ISP共享IP,因此….) 您可能还希望延迟身份验证,这样IP就不能每隔“y”秒尝试登录一次以上。 |
5
0
我已经为一个客户端开发了一个系统,它可以跟踪对Web服务器的攻击,并在操作系统/防火墙级别动态禁止IP地址,在不同的时间段内进行某些攻击,因此,是的,这是绝对可能的。正如欧文所说,防火墙规则是一个比在Web服务器上做这类事情更好的地方。(不幸的是,客户选择保留此代码的严格版权,因此我无权共享此代码。) 我通常使用Perl而不是PHP,但是,只要您有一个到防火墙规则引擎的命令行接口(例如,/sbin/iptables),您就应该能够从任何能够执行系统命令的语言中相当容易地做到这一点。 |
6
0
呃,这种系统很简单,很常见,我可以很容易地给你我的 这里简单简单地解释一下 http://www.alandoherty.net/info/webservers/ 写的脚本不可下载,因为目前没有添加评论,但是从上面的站点给我发一封电子邮件,我会把代码扔给你,很乐意帮助你调试/调整到服务器上。 |
Coolen · 通过htaccess重定向并删除部分链接 2 年前 |
Sebastian · 带有PHP菜单的干净/漂亮URL 6 年前 |
imagina · 合并两个。htaccess指令整合为一个 6 年前 |