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

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

例如

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113051.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【离散数学】单射、满射与双射

    【离散数学】单射、满射与双射本文目录1、什么是映射?1、什么是映射?我们考虑这样的关系:对于集合X中的每一个元素,都有唯一的属于集合Y中的元素被其所指向,我们就称这样的关系叫映射(英:mapping,日:写像(しゃぞう))。这是用很通俗的语言解释定义的映射,而相信大家也都在高中数学必修1里面学过,对映射这个概念想必也都不陌生吧!从这个定义中,你能get到什么信息呢?①“X集合中的每一个元素”:如果有集合X的元素不对应集合Y的某个元素的,则不是映射。②“都有唯一的Y与之对应”:如果有集合X的元素同时指向了集合Y中的两个以上个元

    2022年6月10日
    113
  • 图片变透明之opacity属性

    图片变透明之opacity属性CSS3图像透明度开发工具与关键技术:DW-opacity属性作者:徐晶旗撰写时间:2019年1月18日利用opacity属性来改变图片的透明度,opacity属性能够设置的值从0.0到1.0。值越小,图片越透明。下面这几张图片是执行代码得出的效果,第一张图片没有给它设置opacity值,所以它呈现的是原图,没有透明的效果,后面几张图设置的opacity值越来越小,可…

    2022年5月26日
    27
  • vs2015注册_vs2017试用期到了后怎么激活

    vs2015注册_vs2017试用期到了后怎么激活一般情况下要先安装IIS再装.NetFramework,这样可以保证.net的部分功能可以绑定到IIS,若安装顺序不对,可以后注册IIS,步骤如下:(1)在开始菜单中找到VS安装目录下的命令行提示符,以管理员身份运行。(2)输入IIS注册命令:aspnet_regiis-i

    2022年10月10日
    3
  • 从零开始学android编程之表格布局管理器(2-1)

    从零开始学android编程之表格布局管理器(2-1)表格布局管理器用TableLayout类表示,该类派生自LinearLayout类,所以TableLayout类也具有LinearLayout类的方法和属性。线性布局管理器LinearLayout将在其中的“组件群”进行横向或者纵向的一字排列。而表格布局管理器TableLayout主要将“组件群”进行表格式的排列,即将“组件群”排列成指定行数和指定列数。1在表格布局管理器中插入行在表

    2022年5月5日
    69
  • Python中线程同步与线程锁「建议收藏」

    Python中线程同步与线程锁「建议收藏」文章目录Python中线程同步与线程锁线程同步threading.Event对象threading.Timer定时器,延迟执行threading.Lock锁可重入锁RLockCondition条件锁,等待通知therading.Semaphore信号量threading.BoundedSemaphore有界信号量Python中线程同步与线程锁线程同步概念*线程同步,线程间协同,通过某种技…

    2022年6月21日
    31
  • CPU流水线技术演进「建议收藏」

    CPU流水线技术演进「建议收藏」一.三级线性流水线每个流水级的结构是:逻辑电路+寄存器我们可以将流水线往下细分,使得各个流水级足够小(CPU执行时间少),就可以通过提高系统时钟频率来提高CPU的处理速度。二.多级线性流水线(这里以5级为例)注意:我们把5级以上的流水线称为超流水线结构。三.muti-多级线性流水线(这里以5级为例)四.多级非线性流水线(乱序执行部件)五.超线程处理器多级非线性流水线(虚拟处理器共用乱序执行部件)拥有超线程的处理器将两个虚拟的处理器暴露给共享的乱..

    2022年8月20日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号