From ac846e31061c1731d9d335d68ef507a04a9e88d9 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Thu, 24 Apr 2025 20:34:05 -0400 Subject: [PATCH 1/2] added allowed ips middleware --- .../AllowedIpAddressesMiddleware.php | 28 +++++++++++++++++++ bootstrap/app.php | 4 +++ config/speedtest.php | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 app/Http/Middleware/AllowedIpAddressesMiddleware.php diff --git a/app/Http/Middleware/AllowedIpAddressesMiddleware.php b/app/Http/Middleware/AllowedIpAddressesMiddleware.php new file mode 100644 index 000000000..f3f6a338d --- /dev/null +++ b/app/Http/Middleware/AllowedIpAddressesMiddleware.php @@ -0,0 +1,28 @@ +ip(), $allowedIps) + ? $next($request) + : abort(403); + } +} diff --git a/bootstrap/app.php b/bootstrap/app.php index bc634e905..88aeb19be 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -19,6 +19,10 @@ 'public-dashboard' => App\Http\Middleware\PublicDashboard::class, ]); + $middleware->prependToGroup('web', [ + App\Http\Middleware\AllowedIpAddressesMiddleware::class, + ]); + $middleware->redirectGuestsTo(fn () => route('filament.admin.auth.login')); $middleware->redirectUsersTo(AppServiceProvider::HOME); diff --git a/config/speedtest.php b/config/speedtest.php index f18055c87..ba3dc003d 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -11,6 +11,8 @@ /** * General settings. */ + 'allowed_ips' => env('ALLOWED_IPS'), + 'content_width' => env('CONTENT_WIDTH', '7xl'), 'prune_results_older_than' => (int) env('PRUNE_RESULTS_OLDER_THAN', 0), From 03e52e52c65fc373169c027b47f966b439a056a4 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Thu, 24 Apr 2025 20:44:10 -0400 Subject: [PATCH 2/2] [Feature] Prepend AllowedIpAddressesMiddleware to the API middleware group --- bootstrap/app.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bootstrap/app.php b/bootstrap/app.php index 88aeb19be..3a71da348 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -19,6 +19,10 @@ 'public-dashboard' => App\Http\Middleware\PublicDashboard::class, ]); + $middleware->prependToGroup('api', [ + App\Http\Middleware\AllowedIpAddressesMiddleware::class, + ]); + $middleware->prependToGroup('web', [ App\Http\Middleware\AllowedIpAddressesMiddleware::class, ]);