Eloquent – $fillable到底有什么用?

这是Laravel文档中所说的:

开始的时候, 你应该定义哪些模型属性是你想要大规模分配的. 你可以使用模型上的$fillable属性来实现.

那么为什么不直接让所有的属性通过->fill()::create()方法来分配呢?

解决方案:

软件框架有时会允许开发者将HTTP请求参数自动绑定到程序代码的变量或对象中, 以方便开发者使用该框架. 这有时会造成伤害。

攻击者有时可以使用这种方法来创建开发者从未想过的新参数,这反过来又会在程序代码中创建或覆盖新的变量或对象,而这些变量或对象是没有打算的。

这就是所谓的 大规模转让的脆弱性.

和laravel供应商 可填补大规模分配漏洞,它是一个字段的白名单。

当用户通过请求传递一个意外的HTTP参数,并且该参数改变了你的数据库中你没有预料到的列时,就会发生大规模赋值漏洞。例如,一个恶意用户可能会通过HTTP请求发送一个is_admin参数,然后将其传递到你的模型的创建方法中,让用户将自己升级为管理员。

给TA打赏
共{{data.count}}人
人已打赏
未分类

使用PIPE从主进程读取子进程的stdout,导致子进程死亡。

2022-9-8 15:57:26

未分类

如何在Windows命令行和bat文件中向svn propset传递星号。

2022-9-8 16:08:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索