Maison >cadre php >Laravel >À propos de Laravel ignorant la liste blanche et la liste noire

À propos de Laravel ignorant la liste blanche et la liste noire

藏色散人
藏色散人avant
2020-07-25 13:16:233803parcourir

Ce qui suit est une colonne de tutoriel de Laravel pour présenter Laravel pour ignorer les listes blanches et les listes noires. J'espère que cela sera utile aux amis dans le besoin !

À propos de Laravel ignorant la liste blanche et la liste noire

Différence

$fillable 白名单 : 允许插入字段 La valeur par défaut est : []
$guarded 黑名单 : 不允许插入字段 La valeur par défaut est : ['*'] //Tous les champs sont définis pour mettre les coupables sur liste noire

Code

$request->query->set('user_id', Auth::id());Comment::create( $request->all());

C'est ma façon préférée d'écrire, peut Si vous écrivez un code de moins, vous n'écrirez pas deux codes.
Bien sûr, l'insertion échouera.

Solution 1

Ajoutez manuellement tous les paramètres de champ à protected $fillable = ['user_id','nickname',....];

Ne considérez pas cette méthode d'écriture, elle est trop gênante.

Solution 2

protectd $guarded = [];

Cette façon d'écrire est meilleure, car tous les champs sont sur liste noire par défaut, il suffit de la réinitialiser.

Solution 3

static $unguarded = true;

Ignorer la vérification de la liste.
est tout aussi confortable que 解决2.

Questions 2 et 3

Pour comprendre pourquoi 白名单 et 黑名单 sont nécessaires, refaites les étapes de 2,3.

Et cela peut garantir que les utilisateurs ne peuvent pas envoyer 破坏 données système.
(Par exemple, mon user_id, ça ne sert à rien si l'utilisateur envoie user_id)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer