加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 消除laravel中的用户输入

发布时间:2020-12-14 19:41:09 所属栏目:大数据 来源:网络整理
导读:我有一个简单的问题: 什么时候最好消毒用户输入? 其中哪一个被认为是最佳做法: 在写入数据库之前消化数据. 保存原始数据并在视图中对其进行清理. 例如使用HTML :: entities()并将结果保存到数据库. 或者在视图中使用HTML方法,因为在这种情况下,默认情况下
我有一个简单的问题:
什么时候最好消毒用户输入?
其中哪一个被认为是最佳做法:

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读