Вы можете использовать класс sanitize в контроллере для предотвращения SQL-инъекций, в частности, метод escape.
Чтобы дать быстрый пример для размещенного ввода:
if(!empty($this->data)
{
App::import('Sanitize');
$this->data['Model']['dirtyInput'] = Sanitize::escape($this->data['Model']['dirtyInput', 'default');
}
Кроме того, проверьте метод clean для способа очистки HTML и SQL-инъекций от всего вашего $this->data
массива