【问题标题】:What is the best way to escape user output with the Zend Framework?使用 Zend 框架转义用户输出的最佳方法是什么?
【发布时间】:2009-02-03 15:40:07
【问题描述】:

我对应该使用什么来转义用户输出感到有些困惑。

首先,有一个 Zend_Filter_Input 类,看起来它可以做我想做的事,但似乎面向批量过滤大量项目。目前我只想过滤一个。此外,与过滤器相比,逃逸者的定义让我有些困惑。 StringTrim过滤器和逃逸器有什么区别?

转义单个元素有更好的解决方案吗?

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

    过滤器非常适合您的表单,因此您可以在处理/存储数据之前对其进行清理和规范化。您提到了 StringTrim - 您还有其他确保大写或您的输入都是数字(或字母数字或......)的。请注意,这是为了确保数据的一致性和完整性 - 而不是为了避免 SQL 注入 - ZF 的数据库库将其作为单独的问题处理。

    另一方面,您可以逃避输出。虽然“x htmlspecialchars() 或htmlentities() 的原因——默认情况下,当您$this->escape($foo) 时,Zend_View 使用 htmlspecialchar()。

    【讨论】:

    • 谢谢 - 我不知道逃生视图助手。
    【解决方案2】:

    使用htmlspecialchars()?

    如果这不是您想要的,请说明“转义用户输出”的含义。

    【讨论】:

      【解决方案3】:

      如果您关心安全性并希望自动转义所有变量,类似于 Django 的做法,那么您可能会对本文感兴趣。

      How to automatically escape template variables in Zend_View

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        • 2013-02-03
        • 1970-01-01
        • 2011-04-16
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多