解决方案-森林 / 纤维防火墙
这是为Filament Admin提供白名单/黑名单中间件
2.0.2
2024-05-24 15:38 UTC
Requires
- php: ^8.0
- akaunting/laravel-firewall: ^2.2
- filament/filament: ^3.0
- filament/support: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
重要
请注意,我们只会更新到2.x版本,不包括任何错误修复。
纤维防火墙
此软件包提供白名单和黑名单功能,以限制对您的Laravel应用程序和Filament管理面板的访问。有关其他功能,请参阅Laravel Firewall软件包。
入门指南
-
使用
composer require
命令安装软件包composer require solution-forest/filament-firewall
-
要发布此插件的配置文件和迁移文件,以及自动运行迁移,请输入以下命令
php artisan filament-firewall:install
-
此软件包包含
WhitelistRangeMiddleware
。您需要在app\Http\Kernel.php
文件中的$middleware
中注册它protected $middleware = [ ... \SolutionForest\FilamentFirewall\Middleware\WhitelistRangeMiddleware::class, ];
-
您可以在
config/filament-firewall.php
文件中更改设置以跳过WhitelistRangeMiddleware
的检查。 -
在面板提供者中注册插件
重要:在2.x版本之后在面板提供者中注册插件
use SolutionForest\FilamentFirewall\FilamentFirewallPanel; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentFirewallPanel::make()); }
用法
- 在IP防火墙页面上,您可以向白名单或阻止列表添加IP。
WhitelistRangeMiddleware
中间件将自动处理白名单IP访问。如果您需要阻止IP范围,同时允许特定IP,例如阻止172.19.0.0/24但允许172.19.0.1,您需要创建一个新的拒绝访问记录,并指定IP和前缀为'172.19.0.0'和'24'。另外,您还需要为特定IP'172.19.0.1'添加一个允许访问记录。
-
获取白名单/黑名单记录
// whitelist \SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getWhiteList(); // blacklist \SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getBlackList();
-
确定IP地址是否包含在白名单或黑名单中
// whitelist \SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinWhiteList($ip); // blacklist \SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinBlackList($ip);
发布翻译
php artisan vendor:publish --tag=filament-firewall-translations
安全漏洞
如果您发现任何与安全相关的问题,请通过电子邮件info+package@solutionforest.net报告,而不是使用问题跟踪器。
许可
有关更多信息,请参阅许可文件。