PHP code example of effilib / laravel-restrict-ip-middleware
1. Go to this page and download the library: Download effilib/laravel-restrict-ip-middleware library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
effilib / laravel-restrict-ip-middleware example snippets
use Effilib\RestrictIp\Middleware\RestrictIpMiddleware;
Route::get('/admin', fn () => 'Admin Area')
->middleware(RestrictIpMiddleware::class);
Route::get('/custom', fn () => 'Special Area')
->middleware(RestrictIpMiddleware::class . ':custom');
return [
// HTTP status code when access is denied
'error_code' => 403,
'rules' => [
// Default ruleset
'default' => [
// Allowed exact IPs
'allowed_ips' => [
'127.0.0.1',
'::1',
],
// Allowed CIDR ranges
'allowed_cidrs' => [
// '192.168.0.0/24',
],
// Exception: always allow these route names (supports wildcards)
'allowed_routes' => [
// 'healthcheck',
// 'api.*',
],
// Exception: always allow these URI patterns
'allowed_uri_patterns' => [
// 'status*',
// 'public/*',
],
],
// Example custom ruleset
'custom' => [
'allowed_ips' => ['10.0.0.1'],
'allowed_uri_patterns' => ['public-reports/*'],
],
],
];
// routes/web.php
use Effilib\RestrictIp\Middleware\RestrictIpMiddleware;
Route::middleware([RestrictIpMiddleware::class])->group(function () {
Route::get('/admin', fn () => 'Admin dashboard');
Route::get('/settings', fn () => 'System settings');
});
// Healthcheck route always accessible
Route::get('/healthcheck', fn () => 'OK')
->name('healthcheck');
bash
php artisan vendor:publish --provider="Effilib\RestrictIp\Providers\RestrictIpServiceProvider" --tag=config
config/effilib-restrict-ip.php