Laravel 419 : CSRF Token Mismatch
Résoudre l'erreur "Page Expired" dans Laravel.
L'erreur 419 "Page Expired" dans Laravel signifie que le token CSRF est invalide ou absent. C'est une protection contre les attaques CSRF, mais elle peut être frustrante quand elle se déclenche à tort.
Symptômes
- Page avec message "419 | Page Expired"
- Formulaires qui ne soumettent pas
- Erreurs après longue inactivité
- Problèmes uniquement sur certains navigateurs
Causes Fréquentes
- Token absent : Le @csrf ou _token manque dans le formulaire.
- Session expirée : L'utilisateur est resté inactif trop longtemps.
- Mauvaise config session : SESSION_DOMAIN incorrect ou problème de cookies.
Étapes de Diagnostic
- Vérifiez que @csrf est dans le formulaire
- Inspectez le cookie de session (DevTools)
- Vérifiez SESSION_DRIVER et SESSION_DOMAIN
- Testez en navigation privée
Automatiser avec MoniTao
MoniTao détecte les erreurs 419 récurrentes :
- Surveillance HTTP pour détecter les erreurs 4xx
- Validation de contenu pour vérifier les pages
- Historique des erreurs par endpoint
Bonnes Pratiques
- Utilisez @csrf dans tous les formulaires
- Rafraîchissez le token CSRF via AJAX si nécessaire
- Configurez une durée de session appropriée
- Vérifiez SESSION_SECURE_COOKIE en HTTPS
Questions Fréquentes
Puis-je désactiver la protection CSRF ?
Pour certaines routes (webhooks), oui. Jamais pour les formulaires utilisateurs.
Comment rafraîchir le token en AJAX ?
Exposez le token via une meta tag et utilisez-le dans vos headers AJAX.
Pourquoi ça marche en local mais pas en prod ?
Vérifiez SESSION_DOMAIN, SESSION_SECURE_COOKIE et la configuration des cookies.
MoniTao peut-il tester les formulaires ?
MoniTao surveille les pages, pas les interactions. Pour les formulaires, utilisez des tests E2E.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.