Недавно я закончил учебник о создании простого блога с помощью CakePHP - вот ссылка: http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html Создание формы проверки очень просто и быстро, но я заметил одну проблему с этим.Как сделать проверку CakePHP более безопасной?
Файл с именем post.ctp содержит:
echo $this->Form->create('Post');
echo $this->Form->input('title');
И он создает форму для конечных пользователей с этим входом:
<input id="PostTitle" type="text" required="required" maxlength="50" name="data[Post][title]">
Кто-то, кто использует Firefox Firebug может изменить HTML-код перед отправкой формы от: name="data[Post][title]"
до: name="data[Post][author]"
. Результатом этого будет обновление столбца с именем «автор», а не «title», а также возможность обновления базы данных с пустыми данными для «title».
В папке под названием «Модель» правило проверки в Post.php не предотвращает:
class Post extends AppModel {
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
)
);
}
Как обеспечить мое заявление и не позволить кому-то обновить другие столбцы в базе данных?
Спасибо. Он работает отлично. Я просто обновил строку в своих компонентах до 'public $ components = array ('Session', 'Security');' и больше ничего не нужно настраивать. Он работает при запуске. Когда я попытался сделать то же самое, я получил сообщение «Запрос был черным». Отлично. Они должны включать это в первый учебник, потому что это важно. – Lucas