From a73cd76d864e7af2bd10c35d582d920ec2d5b94e Mon Sep 17 00:00:00 2001 From: Sam DEPARDIEU Date: Mon, 30 Mar 2026 21:59:34 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20s=C3=A9curit=C3=A9=20sur=20le=20ht?= =?UTF-8?q?tps=20laravel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Middleware/SecurityHeaders.php | 27 +++++++++++++++++++++++++ app/Providers/AppServiceProvider.php | 6 +++++- bootstrap/app.php | 3 ++- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 app/Http/Middleware/SecurityHeaders.php diff --git a/app/Http/Middleware/SecurityHeaders.php b/app/Http/Middleware/SecurityHeaders.php new file mode 100644 index 0000000..cf3fe0c --- /dev/null +++ b/app/Http/Middleware/SecurityHeaders.php @@ -0,0 +1,27 @@ +headers->set('Strict-Transport-Security', 'max-age=31536000; includeSubDomains', true); + $response->headers->set('X-Content-Type-Options', 'nosniff', true); + $response->headers->set('X-Frame-Options', 'SAMEORIGIN', true); + $response->headers->set('X-XSS-Protection', '1; mode=block', true); + $response->headers->set('Referrer-Policy', 'strict-origin-when-cross-origin', true); + + return $response; + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b6..e39d9ab 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Facades\URL; class AppServiceProvider extends ServiceProvider { @@ -19,6 +20,9 @@ class AppServiceProvider extends ServiceProvider */ public function boot(): void { - // + // Forcer HTTPS en production et staging + if (!app()->environment('local')) { + URL::forceScheme('https'); + } } } diff --git a/bootstrap/app.php b/bootstrap/app.php index c183276..47c5884 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -3,6 +3,7 @@ use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; +use App\Http\Middleware\SecurityHeaders; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( @@ -11,7 +12,7 @@ return Application::configure(basePath: dirname(__DIR__)) health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { - // + $middleware->append(SecurityHeaders::class); }) ->withExceptions(function (Exceptions $exceptions): void { //