FirewallMiddleware), which can be inserted into Laravel’s HTTP pipeline before auth middleware (e.g., auth:api or web). This ensures IP checks occur before authentication, blocking malicious traffic early.artisan commands) or integrate with Laravel Sanctum/Passport for token validation.whitelist are O(n). For large whitelists (>10K IPs), consider:
request()->ip() can vary behind load balancers).trusted_proxies (Laravel’s trustProxies()) alignment./admin)?/admin/*).artisan firewall:token) and document its usage./backdoor).trusted_proxies in AppServiceProvider to ensure request()->ip() resolves correctly.TrustedProxy::ips(['192.168.1.1', '10.0.0.1']); // Your load balancer IPs
X-Forwarded-For headers are trusted and passed through..htaccess, cloud WAF rules).composer require moox/firewall and publish config.MOOX_FIREWALL_WHITELIST in .env (e.g., 192.0.2.1,203.0.113.5).app/Http/Kernel.php before auth middleware:
protected $middleware = [
\Moox\Firewall\Http\Middleware\FirewallMiddleware::class,
\App\Http\Middleware\TrustProxies::class,
// ... other middleware
];
curl or Postman to test:
FirewallMiddleware events.firewall_ips table).SISMEMBER for O(1) lookups).$whitelist = new Redis();
$whitelist->sAdd('firewall_whitelist', '192.0.2.1');
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Whitelist misconfiguration | Legitimate users blocked | Rollback via backdoor; implement dry-run mode. |
| Token leakage | Unauthorized backdoor access | Rotate tokens immediately; log all backdoor usage. |
| IP spoofing (e.g., VPNs) |
How can I help you explore Laravel packages today?