laravel firewall
2.2.0
该软件包旨在保护您的 Laravel 应用程序免受不同类型的攻击,例如 XSS、SQLi、RFI、LFI、用户代理等等。它还将阻止重复攻击,并在检测到攻击时通过电子邮件和/或 slack 发送通知。此外,它还会记录失败的登录,并在多次尝试后阻止 IP。
注意:一些中间件类(即 Xss)是空的,因为它们扩展的Middleware
抽象类动态地完成了所有工作。简而言之,它们都有效;)
运行以下命令:
作曲家需要 akaunting/laravel-firewall
发布配置、语言和迁移
php artisan 供应商:发布 --tag=防火墙
创建数据库表
php 工匠迁移
您可以从config/firewall.php
文件更改应用程序的防火墙设置
中间件已经定义,因此只需将它们添加到路由中即可。 firewall.all
中间件应用配置文件的all_middleware
数组中可用的所有中间件。
路线::组(['中间件' => 'firewall.all'], function () { 路线::get('/', 'HomeController@index'); });
您可以为每个路由应用每个中间件。例如,您可以只允许列入白名单的 IP 访问管理员:
路由::group(['中间件' => 'firewall.whitelist'], function () { 路线::get('/admin', 'AdminController@index'); });
或者,当任何不在whitelist
中的人访问管理员时,您可以通过将其添加到inspections
配置中来收到通知:
路由::group(['中间件' => 'firewall.url'], function () { 路线::get('/admin', 'AdminController@index'); });
适用于路由的可用中间件:
防火墙.all 防火墙代理 防火墙机器人 防火墙.geo 防火墙IP 防火墙.lfi 防火墙.php 防火墙.referrer 防火墙.rfi 防火墙.会话 防火墙.sqli 防火墙.swear 防火墙地址 防火墙白名单 防火墙.xss
您还可以在config/firewall.php
中为每个中间件定义routes
,并在所有路由的顶部应用该中间件或firewall.all
。
一旦检测到攻击,防火墙将立即发送通知。在notifications.email.to
配置中输入的电子邮件必须是有效的 Laravel 用户才能发送通知。查看 Laravel 的通知文档以获取更多信息。
请参阅版本以获取有关最近更改内容的更多信息。
拉取请求非常受欢迎。您必须遵循 PSR 编码标准。
请查看我们的安全政策,了解如何报告安全漏洞。
丹尼斯·杜利西
所有贡献者
麻省理工学院许可证 (MIT)。请参阅许可证了解更多信息。