php – 消除laravel中的用户输入

前端之家收集整理的这篇文章主要介绍了php – 消除laravel中的用户输入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的问题:
什么时候最好消毒用户输入?
其中哪一个被认为是最佳做法:

>在写入数据库之前消化数据.
>保存原始数据并在视图中对其进行清理.

例如使用HTML :: entities()并将结果保存到数据库.
或者在视图中使用HTML方法,因为在这种情况下,默认情况下,使用HTML :: entities().
或者也许通过使用这两者.

编辑:我发现有趣的例子http://forums.laravel.com/viewtopic.php?id=1789.有其他的方法解决这个问题吗?

我会说你需要这两个地点,但出于不同的原因.当数据进入时,您应该根据域验证数据,并拒绝不符合的请求.例如,如果您期望一个数字,则不允许使用标签(或文字).对于代表一年的参数,甚至可能要检查它在一定范围内. 消毒踢自由文本字段.您仍然可以对0字节等意外字符进行简单验证. IMHO最好通过安全的sql(参数化查询)存储原始数据,然后对输出进行正确的编码.有两个原因首先是如果您的消毒剂有一个错误,那么您对数据库中的所有数据有什么作用?复原可能会产生不必要的后果.其次,您要进行上下文转义,无论您正在使用的输出(JSON,HTML,HTML属性等)
原文链接:https://www.f2er.com/laravel/132666.html

猜你在找的Laravel相关文章