2012-04-23 55 views
1

当插入数据库中的东西,是Zend的逃逸通过一个例子像这样给出的输入:Zend和安全

$options = array(
    'bla'=>input 
); 
$this->insert($options); 

- 由Zend_Form

我还在检查内容的长度和有效性,部分

回答

6

Zend不会逃避输入,它会使用准备好的语句(这更好)。

这就是为什么你不能直接使用DB表达式,你必须使用Zend_Db_Expr这样的:

$data = array(
    'created'  => new Zend_Db_Expr('CURDATE()'), 
    ... 
); 
$this->insert($data); 
+0

“这就是为什么你不能直接使用DB表达式” ---实际上,即使Zend的二手逃逸 - 如果没有'Zend_Db_Expr'封装,我们仍然无法使用表达式。 – zerkms 2012-04-23 20:21:09