Fehler-Lösung
419 Page Expired in Laravel beheben
Laravel lehnt einen POST-, PUT-, PATCH- oder DELETE-Request ab, dessen CSRF-Token fehlt, abgelaufen ist oder nicht zur Session passt.
Die Fehlermeldung
419 | Page Expired
Mögliche Ursachen
- Formular ohne @csrf. Jedes Formular, das mit POST, PUT, PATCH oder DELETE sendet, braucht ein verstecktes _token-Feld. Das erzeugt die Blade-Direktive @csrf.
- Session abgelaufen. Das Token hängt an der Session. Lief die Session ab, bevor das Formular abgeschickt wurde, passt das Token nicht mehr.
- AJAX ohne Token-Header. Bei JavaScript-Requests prüft die Middleware den Header X-CSRF-TOKEN. Fehlt er, kommt 419.
- Session-Cookie kommt nicht an. Falsche Cookie-Domain, Secure-Cookie über HTTP oder eine Seite, die vom Cache ausgeliefert wird, liefern ein Token ohne passende Session.
Lösung
- Im Formular @csrf einfügen.
- Bei AJAX das Token aus einem meta-Tag lesen und als X-CSRF-TOKEN-Header mitschicken.
- Seiten mit Formular nicht im Seiten- oder CDN-Cache ausliefern.
- Session-Konfiguration prüfen (SESSION_DOMAIN, SESSION_SECURE_COOKIE) und die Session-Lebensdauer an die Seite anpassen.
- Für Webhooks externer Dienste die Route außerhalb der web-Middleware definieren oder in bootstrap/app.php per validateCsrfTokens(except: [...]) ausnehmen.
Formular
<form method="POST" action="/profile">
@csrf
...
</form>
Quelle: Laravel 12.x: CSRF Protection · Stand: 2026-10-09
Verwandte Fehler
Fehler bleibt bestehen?
Ich schaue mir Ihr Laravel-Projekt an und sage Ihnen ehrlich, woran es liegt. Kostenloses 30-Minuten-Gespräch.