Laravel — Alle Security-Header-Anleitungen

Schritt-für-Schritt-Anleitungen für jeden Security Header in Laravel. Middleware-Konfiguration, spatie/laravel-csp, Blade-Nonces und Vite-Integration — alles zum Kopieren.

Laravel · Alle Kapitel
Laravel · PHP-Framework #1

Security Headers in Laravel — Middleware-basierte Kontrolle

Laravel ist das meistgenutzte PHP-Framework und bietet über seine Middleware-Architektur volle Kontrolle über HTTP-Response-Header. Jeder Security Header lässt sich in einer zentralen SecurityHeaders.php Middleware konfigurieren — sauber, testbar und versionierbar.

Für Content Security Policy empfehlen wir das Paket spatie/laravel-csp, das automatische Nonce-Generierung und eine saubere Konfigurationsdatei bietet. Alternativ lassen sich Nonces seit Laravel 10 auch nativ über Vite::useCspNonce() und die @nonce Blade-Direktive generieren.

Wichtig: Laravel unterscheidet zwischen der web- und api-Middleware-Gruppe. Browser-bezogene Header (CSP, HSTS, Cookies) gehören in die web-Gruppe, API-spezifische Header (CORS, no-store) in die api-Gruppe. Unsere Anleitungen berücksichtigen beide Szenarien.

Anleitungen

Laravel-Anleitungen nach Thema

Jede Anleitung erklärt einen Security Header Schritt für Schritt — mit Middleware-Code zum Kopieren. Die Punkte zeigen den Einfluss auf Ihre Web Security Note.

Leitfaden Beginner

Implementierungs-Architektur

Alle Security Headers in einer konsolidierten Middleware — optimale Reihenfolge für SecurityHeaders.php.

35 Pkt Advanced

Content Security Policy (CSP)

XSS-Schutz mit spatie/laravel-csp oder Custom Middleware — Nonces über Blade @nonce und Vite.

15 Pkt Beginner

HTTP Strict Transport Security

HTTPS erzwingen und SSL-Stripping verhindern — Middleware mit Strict-Transport-Security Header.

15 Pkt Intermediate

Sichere Cookie-Konfiguration

config/session.php: secure, http_only, same_site — zentrale Cookie-Verwaltung in Laravel.

10 Pkt Beginner

Permissions Policy

Browser-APIs wie Kamera und Mikrofon kontrollieren — Middleware-basierte Header-Konfiguration.

10 Pkt Beginner

Clickjacking-Schutz

X-Frame-Options und frame-ancestors — Middleware-Konfiguration für SAMEORIGIN und DENY.

10 Pkt Beginner

Referrer-Policy

Referrer-Informationen kontrollieren — strict-origin-when-cross-origin via Middleware.

10 Pkt Beginner

X-Content-Type-Options

MIME-Sniffing verhindern — eine Zeile in der SecurityHeaders-Middleware.

30 Pkt Advanced

Cross-Origin Headers

CORP, COEP und COOP gegen Spectre-Angriffe — eigene CrossOriginHeaders-Middleware.

15 Pkt Intermediate

Subresource Integrity

Hash-Prüfung externer Scripts — vite-plugin-sri für den Laravel-Vite-Build.

2 Pkt Beginner

security.txt

Standardisierte Kontaktdatei für Sicherheitsforscher — statische Datei in public/ oder Route.

4 Pkt Intermediate

TLS & Zertifikate

TLS-Konfiguration auf Server-Ebene — Laravel Forge, Let's Encrypt, Reverse-Proxy-Setup.

8 Pkt Intermediate

Cache-Control

Sicherheitsrelevante Cache-Direktiven — no-store für Dashboard, Route-Middleware cache.headers.

4 Pkt Advanced

Reporting API

Report-To und Reporting-Endpoints für automatische Sicherheitsberichte — Middleware + JSON-Empfang.

3 Pkt Beginner

Clear-Site-Data

Browser-Daten beim Logout sicher löschen — Header auf dem Logout-Controller.

4 Pkt Intermediate

Erweiterte Header

Origin-Agent-Cluster, HTTPS-Redirect via URL::forceScheme, WWW-Normalisierung und Fetch Metadata.

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Schnellstart

In 3 Schritten zur sicheren Laravel-Anwendung

1

Status prüfen

Starten Sie mit dem kostenlosen Web Security Check. 166 Prüfpunkte zeigen Ihnen in Sekunden, welche Header fehlen und wo Handlungsbedarf besteht.

2

SecurityHeaders-Middleware erstellen

Beginnen Sie mit der Implementierungs-Architektur — eine zentrale Middleware für alle einfachen Header (HSTS, X-Content-Type-Options, Referrer-Policy). In 10 Minuten konfiguriert.

3

CSP mit spatie/laravel-csp

Die Content Security Policy ist der wirksamste aber auch komplexeste Header. Unsere Anleitung führt Sie durch Report-Only-Modus, Nonce-Konfiguration mit Vite und schrittweises Enforcement.

Wie sicher ist Ihre Website?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.

Häufig gestellte Fragen

Wo konfiguriere ich Security Headers in Laravel?

In einer Middleware-Klasse unter app/Http/Middleware/SecurityHeaders.php. Die Middleware wird in bootstrap/app.php (Laravel 11+) oder in app/Http/Kernel.php (Laravel 10) registriert. Sie können globale Header in der web-Middleware-Gruppe und API-spezifische Header in der api-Gruppe setzen.

Brauche ich spatie/laravel-csp oder reicht eine Custom Middleware?

Für einfache CSP-Konfigurationen reicht eine Custom Middleware. spatie/laravel-csp lohnt sich, wenn Sie dynamische Nonces, verschiedene Policies pro Route oder eine saubere Konfigurationsdatei benötigen. Das Package generiert automatisch Nonces und integriert sich nahtlos mit Blade und Vite.

Wie funktionieren CSP-Nonces in Laravel mit Vite?

Seit Laravel 10 generiert Vite automatisch Nonces für Scripts und Styles, wenn Sie Vite::useCspNonce() aufrufen oder die @nonce Blade-Direktive verwenden. Der Nonce wird pro Request generiert und automatisch in die von @vite eingebundenen Assets eingefügt.

Was ist der Unterschied zwischen web- und api-Middleware-Gruppe?

Die web-Gruppe enthält Session-Handling, CSRF-Schutz und Cookie-Encryption — hier gehören Browser-bezogene Security Headers hin (CSP, HSTS, X-Frame-Options). Die api-Gruppe ist für zustandslose API-Requests — hier setzen Sie CORS-Header und Cache-Control: no-store, aber keine CSP oder Session-Cookies.

Muss ich nach Änderungen php artisan config:cache ausführen?

Nur wenn Sie .env-Variablen für Header-Konfigurationen nutzen (z.B. CSP_REPORT_ONLY=true). Middleware-Code wird bei jedem Request neu ausgeführt. In Produktionsumgebungen empfehlen wir php artisan config:cache und php artisan route:cache für bessere Performance.