Dans un serveur local, le projet laravel suivant fonctionne correctement, mais lorsque le projet est téléchargé sur un serveur en ligne, le problème apparaît.
Lorsque vous essayez de vous connecter, son émission:
419 | page expirée.
J'ai effacé l'itinéraire, la vue, le cache et la configuration lorsque je l'ai téléchargé sur le service en ligne.
5 Réponses :
Nous obtenons cette page d'erreur lorsque le jeton CSRF expire. Ce problème se produit généralement lorsque vous chargez une page avec un formulaire (par exemple, page de connexion, page d'inscription), puis après une longue période, vous soumettez le formulaire. Nous obtenons cela parce que le CSRF a expiré à ce moment-là.
Pour résoudre ceci:
Vous pouvez augmenter la durée de vie dans le fichier config/session.php
.
Monsieur, j'ai augmenté la durée de vie de la session mais cela ne fonctionne toujours pas
Votre erreur semble être liée à «csrf_token». Soit il manque le jeton csrf, soit votre itinéraire doit être mis dans la liste d'exclusion. Consultez la documentation de laravel pour obtenir de l'aide.
Cette erreur se produit en raison d'un échec de vérification du jeton CSRF, d'un cache mal configuré, d'autorisations, de paramètres de session incorrects. Cette erreur apparaît lorsqu'un utilisateur soumet une demande de publication. Vous pouvez le réparer en faisant ci-dessous:
Échec de vérification du jeton CSRF La raison la plus courante de l'erreur 419 est l'échec du jeton CSRF. La falsification de demande intersite est une valeur chiffrée unique générée par le serveur. Ceci est inclus dans la requête HTTP du client. Plus tard, le serveur le vérifie. Si cela échoue, cela entraîne une erreur d'expiration de session. Donc, vous vérifiez le paramètre CSRF dans la configuration Laravel.
Erreur de session expirée en raison du cache Parfois, le cache peut également entraîner une erreur d'expiration de session dans le front-end. Cela peut être à la fois le cache du serveur et le cache du navigateur. Alors, effacez le cache du serveur en utilisant php artisan cache:clear
.
Autorisations de fichier et de dossier Laravel De même, une autorisation de fichier ou de dossier incorrecte peut également entraîner des erreurs. Habituellement, les serveurs Web ont besoin d'autorisations d'écriture sur le stockage et le fournisseur des dossiers Laravel. En outre, le stockage de session nécessite une autorisation en écriture. Alors, donnez les autorisations comme,
'domain' => env('SESSION_DOMAIN', null), 'secure' => env('SESSION_SECURE_COOKIE', false), // in case of cookie
chmod -R 755 storage chmod -R 755 vendor chmod -R 644 bootstrap/caches
Cette approche étape par étape corrige l'erreur et permet à Laravel de fonctionner à nouveau.
Mettez simplement {{ csrf_field() }}
comme d'autres l'ont dit ci-dessus, sous le formulaire de connexion, Laravel n'autorise pas les attaques de falsification de requête.
Il y a aussi la clé SESSION_LIFETIME
dans votre fichier .env
.
Il fait référence au nombre de minutes pour maintenir la session active, en minutes.
J'ai eu des problèmes avec le mien réglé à 1 minute pour le test, puis je l'ai oublié, donc mon CSRF expirait rapidement lors du remplissage des formulaires.
Je l'ai mis à 60 minutes pour réparer:
SESSION_DRIVER=file SESSION_LIFETIME=60