Files
ABSDEV/Modules/Security/Http/Middleware/EnforceIpRestrictions.php
T
2026-07-24 14:59:44 +01:00

21 lines
570 B
PHP

<?php
namespace Modules\Security\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Modules\Security\Services\IpRuleService;
use Symfony\Component\HttpFoundation\Response;
final class EnforceIpRestrictions
{
public function __construct(private readonly IpRuleService $rules) {}
public function handle(Request $request, Closure $next, string $scope = 'admin'): Response
{
abort_if($this->rules->isBlocked((string) $request->ip(), $scope), 403, 'Access is not permitted from this IP address.');
return $next($request);
}
}