首页 > 其他 > 详细

Laravel Model 的 fillable (白名单)与 guarded (黑名单)

时间:2018-12-28 11:25:10      阅读:150      评论:0      收藏:0      [点我收藏+]

例如

protected $fillable = [‘name‘];
protected $guarded = [‘price‘];

定义了 name 字段可以写入/修改,而 price 字段不可以。

需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。

我觉得 Laravel 这样设计的原因是,create 通常是使用 request 中的所有请求参数来创建对象,而 save 则是一个字段一个字段的手动赋值,所以 create 有可能会恶意加入不应该插入的字段,例如 is_admin。基于此,create 还是需要有 fillable, guarded 来过滤一层比较安全。

Laravel Model 的 fillable (白名单)与 guarded (黑名单)

原文:https://www.cnblogs.com/sgm4231/p/10189425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!