私は CakePHP で FCKEditor を使用しています。エディターから送信されたデータを保存するときに、データに対して htmlspecialchars() および mysql_real_escape_string() 関数を実行して、データベースに保存する前にデータを消去したいと考えています。問題は、CakePHP フレームワーク内でこれを行う場所がよくわからないことです。私はこのようにコントローラーで試しました:
function add()
{
if (!empty($this->data))
{
if ($this->Article->save(mysql_real_escape_string(htmlspecialchars($this->data))))
{
$this->Session->setFlash('Your article has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
ただし、 $this->data は配列であり、これらの関数は文字列を想定しているため、機能しません。モデルの検証配列でそれを行いますか? 何も思いつきません。また、mysql_real_escape_string() 内で htmlspecialchars() を実行することが適切でない場合はお知らせください。