我不知道是否有任何缺点或在执行下列步骤不好的做法:PHPヶ辆()对输入信号DB插入之前,而不是在输出
- $ USER_INPUT - >ヶ辆($ USER_INPUT) - > mysql_escape ($ USER_INPUT) - >从数据库中插入$ USER_INPUT到DB
- 选择$ USER_INPUT - >回声$ USER_INPUT
,而不是执行以下操作:
- $ USER_INPUT - > mysql_escape($ USER_INPUT) - >从数据库中插入$ USER_INPUT到DB
- 选择$ USER_INPUT - >回声ヶ辆($ USER_INPUT)
正如我们上了很多显示相同$ USER_INPUT的地方感觉效率更高,而不是输入,是否有这样做的缺点/不好的做法/利用能力?
干杯!
好的回复来自问题:
@马特:一般情况下,让事情变得可读性和可维护性,尽量保存它作为接近原始,未过滤的内容成为可能。这取决于两件事情: 是否有其他人/程序要引用此数据? 数据是否需要易于编辑?
@Sjoerd:如果您想要将数据显示为HTML之外的其他内容,则会有不利影响。 CSV下载,PDF等。
谢谢,做了这个特定的应用程序的数据是在对的购物车产品的意见,即用户评级和我想防止XSS攻击。因此,XSS攻击避免是这里的重点。 – grandnasty 2010-06-11 14:53:17
是否有其他人/程序要引用此数据? - 目前没有,但可能稍后会通过API。 数据是否需要轻松编辑? - 用户应该能够编辑他们的评论 – grandnasty 2010-06-11 14:55:18
@samuelf - 我建议你按原样存储HTML(尽管你仍然需要使用“mysql_escape”来避免SQL注入)。在请求时调用'htmlentities'应该不会有太大的影响。 – Matt 2010-06-11 14:57:11