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.
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.
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.
Implementierungs-Architektur
Alle Security Headers in einer konsolidierten Middleware — optimale Reihenfolge für SecurityHeaders.php.
Content Security Policy (CSP)
XSS-Schutz mit spatie/laravel-csp oder Custom Middleware — Nonces über Blade @nonce und Vite.
HTTP Strict Transport Security
HTTPS erzwingen und SSL-Stripping verhindern — Middleware mit Strict-Transport-Security Header.
Sichere Cookie-Konfiguration
config/session.php: secure, http_only, same_site — zentrale Cookie-Verwaltung in Laravel.
Permissions Policy
Browser-APIs wie Kamera und Mikrofon kontrollieren — Middleware-basierte Header-Konfiguration.
Clickjacking-Schutz
X-Frame-Options und frame-ancestors — Middleware-Konfiguration für SAMEORIGIN und DENY.
Referrer-Policy
Referrer-Informationen kontrollieren — strict-origin-when-cross-origin via Middleware.
X-Content-Type-Options
MIME-Sniffing verhindern — eine Zeile in der SecurityHeaders-Middleware.
Cross-Origin Headers
CORP, COEP und COOP gegen Spectre-Angriffe — eigene CrossOriginHeaders-Middleware.
Subresource Integrity
Hash-Prüfung externer Scripts — vite-plugin-sri für den Laravel-Vite-Build.
security.txt
Standardisierte Kontaktdatei für Sicherheitsforscher — statische Datei in public/ oder Route.
TLS & Zertifikate
TLS-Konfiguration auf Server-Ebene — Laravel Forge, Let's Encrypt, Reverse-Proxy-Setup.
Cache-Control
Sicherheitsrelevante Cache-Direktiven — no-store für Dashboard, Route-Middleware cache.headers.
Reporting API
Report-To und Reporting-Endpoints für automatische Sicherheitsberichte — Middleware + JSON-Empfang.
Clear-Site-Data
Browser-Daten beim Logout sicher löschen — Header auf dem Logout-Controller.
Erweiterte Header
Origin-Agent-Cluster, HTTPS-Redirect via URL::forceScheme, WWW-Normalisierung und Fetch Metadata.
In 3 Schritten zur sicheren Laravel-Anwendung
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.
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.
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.
Nicht Laravel? Andere Anleitungen verfügbar
Webserver
CMS & Shop-Systeme
Frameworks & Sprachen
Hosting-Anbieter
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.