關于Laravel忽略白名單和黑名單

下面由laravel教程欄目給大家介紹laravel忽略白名單和黑名單,希望對需要的朋友有所幫助!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

關于Laravel忽略白名單和黑名單

區別

$fillable 白名單: 允許插入字段 ?默認為: []
$guarded 黑名單: 不允許插入字段 默認為: [‘*’] ?//所有字段設置為黑名單 罪魁禍首

代碼

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

這我鐘愛的寫法,能少寫一個就不寫兩個代碼。
當然會插入失敗。

解決1

手動把所有字段設置加入到 protected $fillable = [‘user_id’,’nickname’,….];

不考慮這種寫法,太麻煩了。

解決2

protectd $guarded = [];

這種寫法才爽,因為默認所有字段都是黑名單,重置下就好了。

解決3

static $unguarded = true;

忽略黑 白名單的驗證。
跟 解決2 一樣舒服。

2和3的問題

要了解為什么需要 白名單 和 黑名單,再做 2,3 的步驟。

并且能保證用戶發送不了 破壞 系統的數據。
(比如我這個的user_id,用戶發送user_id過來也沒用)

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享