在cakephp中清理数据

时间:2010-09-07 08:58:36

标签: cakephp

我想在cakephp中清理数据,但我遇到了问题。我有一个带日期字段的表单。当我试图对所有数据进行整理时,日期会丢失它的mysql格式并作为垃圾数据存储在数据库中(1970-01-01)但是如果我删除了清理它就可以正常工作

我尝试了以下

 function beforeSave() 
    {
       $this->data = Sanitize::clean($this->data);
       return true;
    }

我也尝试了这个,但这有效,但它失败了目的

function beforeSave() 
{

   $date = $this->data['Cabinet']['date_of_inspection'];        
   $this->data = Sanitize::clean($this->data);
   $this->data['Cabinet']['date_of_inspection'] = $date;
   return true;
}

出路是什么

2 个答案:

答案 0 :(得分:7)

来自CakePHP Manual

  

CakePHP已经保护你免受攻击   如果您使用CakePHP的ORM,则使用SQL注入   方法(例如find()和save())   和正确的数组符号(即。   array('field'=> $ value))而不是   原始SQL。用于对XSS进行消毒   它通常更好地保存原始HTML   在数据库中没有修改和   在当时消毒   输出/ display.output /显示。

答案 1 :(得分:1)

$this->data = Sanitize::clean($this->data, array('encode' => false)解决了这个问题。我同意Jamal Aziz / Cakephp的说法