Heim  >  Artikel  >  PHP-Framework  >  Über Laravel, das Whitelist und Blacklist ignoriert

Über Laravel, das Whitelist und Blacklist ignoriert

藏色散人
藏色散人nach vorne
2020-07-25 13:16:233684Durchsuche

Das Folgende ist eine Tutorial-Kolumne von Laravel, um Laravel das Ignorieren von Whitelists und Blacklists vorzustellen. Ich hoffe, es wird Freunden in Not hilfreich sein!

Über Laravel, das Whitelist und Blacklist ignoriert

Differenz

$fillable 白名单: 允许插入字段 Standard ist: []
$guarded 黑名单: 不允许插入字段 Standard ist: ['*'] //Alle Felder sind auf Blacklist-Täter eingestellt

Code

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

Das ist meine liebste Schreibweise, Wenn Sie einen Code weniger schreiben, schreiben Sie nicht zwei Codes.
Natürlich wird das Einfügen fehlschlagen.

Lösung 1

Fügen Sie alle Feldeinstellungen manuell hinzu protected $fillable = ['user_id','nickname',....];

Ziehen Sie diese Schreibmethode nicht in Betracht, sie ist zu mühsam.

Lösung 2

protectd $guarded = [];

Diese Schreibweise ist besser, da alle Felder standardmäßig auf der schwarzen Liste stehen. Setzen Sie sie einfach zurück.

Lösung 3

static $unguarded = true;

Ignorieren Sie die Überprüfung der Liste .
ist genauso bequem wie 解决2.

Fragen 2 und 3

Um zu verstehen, warum 白名单 und 黑名单 benötigt werden, führen Sie die Schritte von 2,3 noch einmal aus.

Und es kann sichergestellt werden, dass Benutzer keine Systemdaten 破坏 senden können.
(Zum Beispiel mein user_id, es ist nutzlos, wenn der Benutzer user_id vorbeischickt)

Das obige ist der detaillierte Inhalt vonÜber Laravel, das Whitelist und Blacklist ignoriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen