首頁  >  文章  >  php框架  >  關於Laravel忽略白名單和黑名單

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

藏色散人
藏色散人轉載
2020-07-25 13:16:233783瀏覽

以下由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過來也沒用)

以上是關於Laravel忽略白名單和黑名單的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除