server->set('REMOTE_ADDR', $ip); break; } } } // Special handling for REMOTE_ADDR with multiple IPs $remoteAddr = $_SERVER['REMOTE_ADDR'] ?? ''; if (! empty($remoteAddr) && str_contains((string) $remoteAddr, ',')) { [$ip] = explode(',', (string) $remoteAddr); $ip = trim($ip); if (filter_var($ip, FILTER_VALIDATE_IP)) { $request->server->set('REMOTE_ADDR', $ip); } } return $next($request); } }