这是在PHP中正确的清理和列入白名单吗?

时间:2019-01-30 19:17:17

标签: php laravel security sanitization

使用Laravel 5.7

我最终希望将其提取为自己的白名单/消毒剂,以用于我的所有表单处理。

据我了解,Laravel Eloquent在准备好的语句中使用了PDO,因此我可以在那里输入数据库。

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为没有任何特定的“正确”方法可以过滤入站参数。尽管我确实认为Request::only()比您所拥有的要干净一些。

我发现自己经常这样做,并且有一个首选的方法。

  1. 假设您在此处引用控制器方法,我强烈建议您inject Request对象,而不要使用辅助函数。
  2. 这使您有机会注入自己的custom Request class并设置一些验证规则。
  3. 使该自定义Request类以及您可能需要此行为的其他任何类都继承您自己的基类,该基类又扩展了Illuminate\Http\Request。这使您有机会使用其自动触发prepareForValidation()authorize()方法。
  4. 将此代码段插入其中之一:https://gist.github.com/kmuenkel/8b926c398c22d7641ef1e99bb8c2508a

最终结果将是删除自定义请求中$rules数组中未列出的任何参数。