2010-04-24 66 views
2

CakePHP检查输入以查看它们是否有效并且没有注入?如果不是的话,我将如何执行功能来检查输入? Cake的大部分流程都是在幕后完成的,所以我不确定我会在哪里做到这一点。CakePHP有内置函数来检查MySQL注入吗?

回答

2

您可以在控制器中使用sanitize类来防止sql注入,特别是escape方法。

举一个简单的例子张贴输入:

if(!empty($this->data) 
{ 
    App::import('Sanitize'); 
    $this->data['Model']['dirtyInput'] = Sanitize::escape($this->data['Model']['dirtyInput', 'default'); 
} 

此外,检查出干净的方法一种方法来从你的整个$this->data阵列

+0

您为数据清理提供的链接已过时。请更改它 – 2014-09-09 14:52:15

4

CakePHP的ORM功能,自动清除HTML和SQL注入清理任何输入以防止SQL注入。

+0

...除非另有说明,请参阅例如'updateAll()'http://book.cakephp.org/view/75/Saving-Your-Data – deceze 2010-04-25 02:48:48