From a17a5aeff13ea0250faafec238fd21b2b12c3124 Mon Sep 17 00:00:00 2001 From: Willem Leuverink Date: Mon, 14 Apr 2025 11:12:55 +0200 Subject: [PATCH 1/4] skip when running tests --- src/Http/Middleware/PreventRegularBrowserAccess.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Http/Middleware/PreventRegularBrowserAccess.php b/src/Http/Middleware/PreventRegularBrowserAccess.php index de1c72b..62efc22 100644 --- a/src/Http/Middleware/PreventRegularBrowserAccess.php +++ b/src/Http/Middleware/PreventRegularBrowserAccess.php @@ -9,6 +9,10 @@ class PreventRegularBrowserAccess { public function handle(Request $request, Closure $next) { + if (app()->runningUnitTests()) { + return $next($request); + } + // Explicitly skip for the cookie-setting route if ($request->path() === '_native/api/cookie') { return $next($request); From 36465337add488da0c4b9beead22e76d4662e239 Mon Sep 17 00:00:00 2001 From: gwleuverink Date: Tue, 15 Apr 2025 00:33:19 +0200 Subject: [PATCH 2/4] skip when not in Electron context --- src/Http/Middleware/PreventRegularBrowserAccess.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/Middleware/PreventRegularBrowserAccess.php b/src/Http/Middleware/PreventRegularBrowserAccess.php index 62efc22..6722a3d 100644 --- a/src/Http/Middleware/PreventRegularBrowserAccess.php +++ b/src/Http/Middleware/PreventRegularBrowserAccess.php @@ -9,7 +9,7 @@ class PreventRegularBrowserAccess { public function handle(Request $request, Closure $next) { - if (app()->runningUnitTests()) { + if (! config('nativephp-internal.running')) { return $next($request); } From b874a8399b8011791331a16bf9bf10cea8c6a3b0 Mon Sep 17 00:00:00 2001 From: gwleuverink Date: Tue, 15 Apr 2025 00:48:29 +0200 Subject: [PATCH 3/4] automatically apply middleware to 'web' group --- src/NativeServiceProvider.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/NativeServiceProvider.php b/src/NativeServiceProvider.php index ad222f9..8ded3f1 100644 --- a/src/NativeServiceProvider.php +++ b/src/NativeServiceProvider.php @@ -4,6 +4,7 @@ use Illuminate\Console\Application; use Illuminate\Foundation\Application as Foundation; +use Illuminate\Routing\Router; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; @@ -23,6 +24,7 @@ use Native\Laravel\Events\EventWatcher; use Native\Laravel\Exceptions\Handler; use Native\Laravel\GlobalShortcut as GlobalShortcutImplementation; +use Native\Laravel\Http\Middleware\PreventRegularBrowserAccess; use Native\Laravel\Logging\LogWatcher; use Native\Laravel\PowerMonitor as PowerMonitorImplementation; use Native\Laravel\Windows\WindowManager as WindowManagerImplementation; @@ -84,6 +86,11 @@ public function packageRegistered() Handler::class ); + // Automatically prevent browser access + $this->app->make(Router::class)->pushMiddlewareToGroup('web', [ + PreventRegularBrowserAccess::class, + ]); + Application::starting(function ($app) { $app->resolveCommands([ LoadStartupConfigurationCommand::class, From 1e540d643cddeba5e1973169472fa4d2aa0b0e12 Mon Sep 17 00:00:00 2001 From: gwleuverink Date: Wed, 16 Apr 2025 00:20:52 +0200 Subject: [PATCH 4/4] apply middleware to all routes --- src/NativeServiceProvider.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NativeServiceProvider.php b/src/NativeServiceProvider.php index 8ded3f1..74dfba3 100644 --- a/src/NativeServiceProvider.php +++ b/src/NativeServiceProvider.php @@ -4,7 +4,7 @@ use Illuminate\Console\Application; use Illuminate\Foundation\Application as Foundation; -use Illuminate\Routing\Router; +use Illuminate\Foundation\Http\Kernel; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; @@ -87,9 +87,9 @@ public function packageRegistered() ); // Automatically prevent browser access - $this->app->make(Router::class)->pushMiddlewareToGroup('web', [ + $this->app->make(Kernel::class)->pushMiddleware( PreventRegularBrowserAccess::class, - ]); + ); Application::starting(function ($app) { $app->resolveCommands([