高效拦截恶意请求:使用Middlewares/Firewall中间件构建安全防线

作为一名开发者,网站安全一直是我关注的重点。最近,我的网站遭遇了一系列来自不明ip地址的恶意请求,这些攻击导致服务器负载飙升,甚至出现了短暂的无法访问。起初,我尝试在服务器层面配置防火墙规则,但这种方法配置复杂,维护起来也相当麻烦,而且难以应对动态变化的攻击来源。

我需要一种更灵活、更易于管理的解决方案。在一番搜索之后,我发现了Middlewares/Firewall这个php中间件。它轻量级、易于集成,并且能够有效地拦截来自指定IP地址或IP段的请求。

Middlewares/Firewall 的安装非常简单,只需使用 composer

composer require middlewares/firewall

安装完成后,我们可以像这样轻松地将其集成到我的应用中:

use MiddlewaresFirewall;use MiddlewaresUtilsDispatcher;Dispatcher::run([    new Firewall(['127.0.0.1', '192.168.1.<em>']), // 白名单IP    // ... 其他中间件 ...]);

这段代码创建了一个防火墙中间件实例,并将其添加到中间件链中。[‘127.0.0.1’, ‘192.168.1.’] 指定了允许访问的IP地址和IP段(白名单)。 你可以根据需要添加更多IP地址到白名单中。

更进一步,Middlewares/Firewall 还支持黑名单功能,可以方便地拦截来自特定IP地址或IP段的请求:

use MiddlewaresFirewall;use MiddlewaresUtilsDispatcher;Dispatcher::run([    (new Firewall(['127.0.0.1']))->blacklist(['192.168.0.100', '10.0.0.<em>']), // 白名单和黑名单组合    // ... 其他中间件 ...]);

这段代码中,我们首先定义了一个白名单,只允许 127.0.0.1 访问,然后使用 blacklist() 方法添加了一个黑名单,阻止 192.168.0.100 和 10.0.0. 范围内的IP地址访问。

此外,如果你的应用使用了自定义的IP获取方式(例如通过X-forwarded-For头),Middlewares/Firewall 也支持通过 ipAttribute() 方法指定获取IP地址的属性:

(new MiddlewaresFirewall(['123.0.0.*']))->ipAttribute('client-ip');

这个特性使得 Middlewares/Firewall 能够与其他中间件,例如用于检测客户端IP的中间件,无缝集成。

Middlewares/Firewall 简洁的API和强大的功能,让我能够快速有效地构建一个安全的网站访问控制系统。自从部署了这个中间件后,恶意请求的数量显著下降,服务器负载也得到了极大的改善。 它极大地简化了我的工作,让我能够专注于其他更重要的开发任务。 强烈推荐给所有需要提升网站安全性的开发者们! 希望这篇文章能够帮助你!

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享