Laravel的质量分配风险

时间:2015-02-08 14:30:07

标签: php mysql security laravel

我开始使用Laravel with 4.0,默认情况下可以进行质量分配......即

$foo = Foo::create('foo' => 'bar', 'bar' => 'foo');

但我认为在L4.1中,可用于质量分配的字段必须在模型中定义。现在我正在阅读L5的教程,因为我主要是通过反复试验来学习L4,而且我在很多模型上看到了大量的任务,我觉得风险很大,比如用户

我有点期望因为要求提出意见而受到抨击,但我不清楚我对质量分配所担心的风险(SQL注入I'假设)。或者,我定义模型中可分配质量的事实是否会消除L4.0系统中存在的风险?

1 个答案:

答案 0 :(得分:2)

"风险"是开发人员经常将Input::all()传递给模型。如果没有$fillable$guarded的新系统提供的保护,意外的用户输入可能会产生错误(确切地说是一个SQL错误,如:column foo not in field list),它可能允许用户插入你不希望他通过操纵请求来设置的属性。