Есть ли в CakePHP встроенные функции для проверки инъекций MySQL? - PullRequest
2 голосов
/ 25 апреля 2010

Проверяет ли CakePHP входные данные, чтобы убедиться, что они действительны, а не инъекции? Если нет, как бы я пошел о реализации функций для проверки входных данных? Большая часть процессов Cake выполняется за кулисами, поэтому я не уверен, где бы я это сделал.

Ответы [ 2 ]

4 голосов
/ 25 апреля 2010

Функциональность CakePHP ORM автоматически очищает любые входные данные для предотвращения внедрения SQL.

2 голосов
/ 25 апреля 2010

Вы можете использовать класс 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 массива

...