是否有可能对Laravel中的可填充字段进行黑客攻击?
资料来源: 在互联网上的任何地方,他们都说要使用是否有可能对Laravel中的可填充字段进行黑客攻击?,laravel,security,mass-assignment,Laravel,Security,Mass Assignment,资料来源: 在互联网上的任何地方,他们都说要使用filleble或guarded来保护Laravel的安全 但是如果一个字段是可填充的,那么,这个字段可以被黑客攻击吗?默认情况下,所有有说服力的模型都会受到质量分配的保护,因此要使用质量分配,您应该在模型上指定filleble或guarded属性,以使用create方法在单行中保存新模型 因此,下面的代码应该会导致错误 $flight=App\flight::create(['name'=>'flight 10','number'=>3]);
filleble
或guarded
来保护Laravel的安全
但是如果一个字段是可填充的,那么,这个字段可以被黑客攻击吗?默认情况下,所有有说服力的模型都会受到质量分配的保护,因此要使用质量分配,您应该在模型上指定
filleble
或guarded
属性,以使用create
方法在单行中保存新模型
因此,下面的代码应该会导致错误
$flight=App\flight::create(['name'=>'flight 10','number'=>3]);
当你有
protected$filleble=['name'];
因为您无法在此处批量分配编号
属性
此处阅读更多内容:您应该阅读@RonvanderHeijden,我读过,但我仍然不确定可填充字段会发生什么情况。@Alex01如果将字段分配给可填充数组,这意味着当您将数组传递给
Model::create()
方法时,该数组的键必须与模型的属性名称匹配。所以,如果你的意思是“插入”的“黑客”,那么是的,因为你已经明确允许了。只要您使用的是$request->only()
,而不是$request->all()
,您就可以了。这取决于值“admin”的来源。如果您是从HTTP请求参数接收到它,那么是的,这是一个安全问题。重申一下,$user->type='admin'
type=$request->type@Alex01如果您没有使用数组,这意味着您正在手动选择要添加的$request参数,那么只会添加那些$request参数,这意味着如果用户发送额外的参数或不需要的参数,它们将被拒绝。
class Student extends Model {
protected $fillable = [‘first_name’, ‘last_name’, ‘email’];
}