我想使用以下代码:Model::update($request);,但是表中的所有字段都可能被恶意用户修改,因此我更改$fillable模型中的 以仅修改用户可以修改的字段,而不能修改其他字段。但是现在的问题是我不能通过自己的价值观来修改它。
id name verified
1 Alex 0
Run Code Online (Sandbox Code Playgroud)
如果恶意用户发送的数据$request是:
[
'name' => 'ModifiedAlex',
'verified' => 1,
]
Run Code Online (Sandbox Code Playgroud)
所以它会修改表并得到验证是不好的当设置$fillable为仅名称时:
$fillable = [
'name'
];
Run Code Online (Sandbox Code Playgroud)
那么我自己就不能用Model::where('id', $userId)->update(['verified' => 1]).
那该怎么办呢?使用$fillable与否?
继续为恶意用户使用可填充和雄辩。
您可以使用查询生成器来避免fillable自己。它不检查fillable.:
DB::table('users')->where('id', $userId)->update(['verified' => 1]); // update with verified.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |