Solution à l'attaque CSRF dans Laravel
Solution : 1. Utilisez Laravel pour générer automatiquement un "Jeton CSRF" pour chaque session utilisateur. Ce jeton peut être utilisé pour vérifier si l'utilisateur connecté et le demandeur sont la même personne. Sinon, la demande échouera 2 ; . Fournissez un Utilisez la fonction d'aide globale "csrf_token" pour obtenir la valeur du jeton. Ajoutez simplement le code du jeton dans le formulaire de soumission de vue. La syntaxe est "<...value php="" echo="">" .
L'environnement d'exploitation de cet article : système Windows 10, Laravel version 9, ordinateur Dell G3.
Solution aux attaques CSRF dans Laravel
CSRF est l'abréviation anglaise de Cross-site request forgery ;
Éviter les attaques CSRF dans le framework Laravel est très simple :
1 Laravel fournit automatiquement une solution pour chaque session utilisateur ; Jeton CSRF, qui peut être utilisé pour vérifier si l'utilisateur connecté et le demandeur sont la même personne. Dans le cas contraire, la demande échoue. (Le principe est le même que le code de vérification.)
2. Laravel fournit une fonction d'assistance globale csrf_token pour obtenir la valeur du jeton, il vous suffit donc d'ajouter le code HTML suivant au formulaire de soumission de vue pour amener le jeton dans le request :
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
Comment éviter les attaques CSRF dans Laravel
Cas : Implémenter la vérification du mécanisme CSRF via des cas
1 Créez deux routes, une pour afficher le formulaire (get) et l'autre pour traiter les demandes (post)
Route::get('test6','Home\TestController@test6');Route::post('test7','Home\TestController@test7');
2. Créer des exigences Méthode
public function test6(){ return view('home.test.test6'); } public function test7() { return "请求提交成功"; }
3. Créez le formulaire simple requis
4 Soumettez l'effet (page d'erreur)
Conclusion : À travers le cas tout à l'heure, cela montre que la vérification csrf. le mécanisme dans Laravel est activé par défaut.
5. Résoudre le problème d'erreur (comment réussir la vérification csrf)
Solution : apporter la valeur du jeton requise pour csrf, et la transmettre à la méthode suivante avec la requête
<form action="/home/test/test7" method="post"> 用户名:<input type="text" name="username"><br> <input type="hidden" name="_token" value="{{csrf_token()}}"> {{csrf_field()}} <input type="submit" value="提交"></form>
Simplification de la méthode csrf_token : {{csrf_field( )}}
Forme d'expression spécifique :
La différence entre les deux :
Csrf_token génère uniquement la valeur du jeton
Csrf_field génère un champ masqué d'entrée entier
Comment choisir lors de son utilisation ultérieure : Dans la plupart Dans certains cas, vous pouvez décider vous-même de la sélection de la situation. Cependant, il existe une situation où le développeur n'a pas le droit de choisir et doit utiliser csrf_token. Dans ce cas, la méthode de soumission de formulaire asynchrone est utilisée.
Exclure le routage des exceptions de la validation CSRF
Toutes les requêtes n'ont pas besoin d'éviter les attaques CSRF, telles que les requêtes adressées à des API tierces pour obtenir des données.
Vous pouvez ajouter l'URL de demande à exclure au tableau d'attributs $sauf dans le middleware VerifyCsrfToken (app/Http/Middleware/VerifyCsrfToken.php) :
Définissez les exceptions en écrivant la configuration :
Écriture d'exclusion de route unique
'home.test.test6',
Multiple The les éléments sont séparés par "," et suivent la méthode d'écriture du tableau.
'home.test.test6','home.test.test7'
Si vous devez exclure toutes les routes et utiliser csrf, vous pouvez écrire :
'*'
[Recommandations associées : tutoriel vidéo laravel]
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel - Artisan Commands - Laravel 5.7 est livré avec une nouvelle façon de traiter et de tester de nouvelles commandes. Il inclut une nouvelle fonctionnalité de test des commandes artisanales et la démonstration est mentionnée ci-dessous ?

Laravel - Personnalisations de pagination - Laravel inclut une fonctionnalité de pagination qui aide un utilisateur ou un développeur à inclure une fonctionnalité de pagination. Le paginateur Laravel est intégré au générateur de requêtes et à Eloquent ORM. La méthode paginate automatique

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...
