如何在Zend Framework中过滤和验证用户输入

时间:2010-08-29 07:36:23

标签: zend-framework zend-form zend-filter

在我的网站上我有一个评论部分。我想在将输入存储到数据库之前过滤并验证输入。如果输入中存在任何无效字符,则用户会收到输入无效的通知。

我的问题,不允许使用哪些字符?例如我想避免sql注入

不允许使用标签。我该如何检查?

1 个答案:

答案 0 :(得分:2)

如果您正在使用Zend_Db和参数化查询(即:$adapter->insert($tableName, array('param' => 'value'))),那么它将自动为您排除所有内容。

如果您想进一步验证用户输入,请查看Zend_ValidateZend_Filter

另外,如果用“标签”表示HTML标签,我不会对输入的那些做任何事情,但确保你在输出上正确地转义/剥离它们(看看htmlspecialchars()

如果您想在输入包含HTML标记时显示错误消息,并假设$comment是评论正文,您可以尝试:

if(strip_tags($comment) !== $comment) {
    // It seems it contained some html tags
}