❗ Important: Please note that we will only be updating to version 2.x, excluding any bug fixes.
Solution Forest Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.
We have built a collection of best-in-class products:
This package provides a whitelist and blacklist feature to restrict access to your Laravel application and Filament admin panel. For additional functionality, please refer to the Laravel Firewall package.
Install the package using the composer require
command:
composer require solution-forest/filament-firewall
To publish the configuration files and migrations files for this plugin, as well as automatically run migration, enter the following command:
php artisan filament-firewall:install
This package comes with WhitelistRangeMiddleware
. You need to register it in $middleware
in the app\Http\Kernel.php
file:
protected $middleware = [ ... \SolutionForest\FilamentFirewall\Middleware\WhitelistRangeMiddleware::class,];
You can change the setting in the config/filament-firewall.php
file to skip the middleware WhitelistRangeMiddleware
check.
Register the plugin in your Panel provider:
Important: Register the plugin in your Panel provider after version 2.x
use SolutionForest\FilamentFirewall\FilamentFirewallPanel; public function panel(Panel $panel): Panel{ return $panel ->plugin(FilamentFirewallPanel::make());}
WhitelistRangeMiddleware
middleware will automatically handle whitelist IP access. If you need to block a range of IPs while allowing a specific IP, such as blocking 172.19.0.0/24 except for 172.19.0.1, you'll need to create a new Deny access record and specify the IP and prefix as '172.19.0.0' and '24'. Additionally, you'll need to add an Allow access record for the specific IP '172.19.0.1'.Get whitelist / blacklist records
// whitelist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getWhiteList(); // blacklist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getBlackList();
Determine whether an IP address is included in a whitelist or blacklist
// whitelist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinWhiteList($ip); // blacklist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinBlackList($ip);
php artisan vendor:publish --tag=filament-firewall-translations
If you discover any security related issues, please email info+package@solutionforest.net instead of using the issue tracker.
Please see License File for more information.