【发布时间】:2009-02-03 15:40:07
【问题描述】:
我对应该使用什么来转义用户输出感到有些困惑。
首先,有一个 Zend_Filter_Input 类,看起来它可以做我想做的事,但似乎面向批量过滤大量项目。目前我只想过滤一个。此外,与过滤器相比,逃逸者的定义让我有些困惑。 StringTrim过滤器和逃逸器有什么区别?
转义单个元素有更好的解决方案吗?
【问题讨论】:
标签: php zend-framework
我对应该使用什么来转义用户输出感到有些困惑。
首先,有一个 Zend_Filter_Input 类,看起来它可以做我想做的事,但似乎面向批量过滤大量项目。目前我只想过滤一个。此外,与过滤器相比,逃逸者的定义让我有些困惑。 StringTrim过滤器和逃逸器有什么区别?
转义单个元素有更好的解决方案吗?
【问题讨论】:
标签: php zend-framework
过滤器非常适合您的表单,因此您可以在处理/存储数据之前对其进行清理和规范化。您提到了 StringTrim - 您还有其他确保大写或您的输入都是数字(或字母数字或......)的。请注意,这是为了确保数据的一致性和完整性 - 而不是为了避免 SQL 注入 - ZF 的数据库库将其作为单独的问题处理。
另一方面,您可以逃避输出。虽然“x htmlspecialchars() 或htmlentities() 的原因——默认情况下,当您$this->escape($foo) 时,Zend_View 使用 htmlspecialchar()。
【讨论】:
如果这不是您想要的,请说明“转义用户输出”的含义。
【讨论】:
如果您关心安全性并希望自动转义所有变量,类似于 Django 的做法,那么您可能会对本文感兴趣。
【讨论】: