【发布时间】:2010-08-29 07:36:22
【问题描述】:
在我的网站上,我有一个评论部分。我想在将输入存储到数据库之前对其进行过滤和验证。如果输入中有任何无效字符,用户会收到他的输入无效的通知。
我的问题,哪些字符是不允许的?例如我想避免sql注入
不允许使用标签。如何检查?
【问题讨论】:
标签: zend-framework zend-form zend-filter
在我的网站上,我有一个评论部分。我想在将输入存储到数据库之前对其进行过滤和验证。如果输入中有任何无效字符,用户会收到他的输入无效的通知。
我的问题,哪些字符是不允许的?例如我想避免sql注入
不允许使用标签。如何检查?
【问题讨论】:
标签: zend-framework zend-form zend-filter
如果您使用 Zend_Db 和参数化查询(即:$adapter->insert($tableName, array('param' => 'value'))),那么它将自动为您转义所有内容。
如果您想进一步验证用户输入,请查看Zend_Validate 和Zend_Filter
另外,如果“标签”是指 HTML 标签,我不会对输入的标签做任何事情,但请确保在输出时正确转义/剥离它们(查看htmlspecialchars())
如果您想在输入包含 HTML 标记时显示错误消息,并假设 $comment 是评论正文,您可以尝试:
if(strip_tags($comment) !== $comment) {
// It seems it contained some html tags
}
【讨论】: