laravel framework, parfois lors d'une demande à l'aide de méthodes post ou put, une erreur TokenMismatchException dans la ligne 67 de VerifyCsrfToken.php sera parfois signalée. La raison est que Laravel a activé l'anti-CSRF par défaut.
Il existe deux façons de résoudre ce problème, l'une consiste à soumettre la valeur du jeton lors de la demande, l'autre consiste à exclure la route demandée lors de l'interdiction de CSRF
Méthode 1 : Transmettre la valeur du token
Lors de la soumission du formulaire :
<form action="photo/12" method="post"> <?php echo method_field('PUT'); ?> <?php echo csrf_field(); ?> <input type="submit" name="提交" /> </form>
Quand à l'aide de la requête AJAX :
<meta name="csrf-token" content="{{ csrf_token() }}">$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
Méthode 2 : exclure l'URL spécifiée de la protection CSRF
Par exemple, l'URL visitée est http://laravel.com/photo/12, et vous souhaitez maintenant exclure l'itinéraire de la ressource photo, puis ajouter l'itinéraire dans AppHttpMiddlewareVerifyCsrfToken::class comme suit :
protected $except = [ 'photo', 'photo/*', ];
Notez que la deuxième méthode ne pourra pas protéger les itinéraires liés aux photos du CSRF, veuillez donc choisir
en fonction de la situation réelle. l'intégralité du contenu de cet article. Pour plus de contenu sur Laravel, veuillez prêter attention au Tutoriel de démarrage de Laravel Framework.
Articles connexes recommandés :
Analyse approfondie du mode d'apparence dans le framework Laravel
Recommandations vidéo associées :
Cinq derniers didacticiels vidéo Laravel recommandés en 2017
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!