Проверка формы CakePHP по коду JavaScript

0

Я разрабатываю приложение cakephp (2.5.6), где пользователь может 2.5.6 комментарии, сообщения в блогах и многое другое. Пользователи могут использовать html-разметку (h1, h2.., quote,..).

Как я могу добавить безопасность для входов формы, чтобы пользователь не мог добавить код javascript, например, <script>alert('foo');</script> или что-то еще.

Я проверил его с помощью простого $this->Form->input('description'); , Теперь, если я отображаю описание с помощью echo $data['Post']['description'] предупреждение отображается на странице обновления.

Каков общий способ предотвратить это? Предоставляет ли cakephp какие-либо помощники или функции?

  • 0
    book.cakephp.org/2.0/en/models/data-validation.html - вы ознакомились с документацией?
  • 0
    Да, конечно..
Показать ещё 1 комментарий
Теги:
validation
cakephp

1 ответ

1
Лучший ответ

Ну, вы должны нажать весь вывод на веб-странице через h() который является ярлыком Cake для htmlspecialchars. Даже вывод, который вы извлекли из API или аппаратного датчика. Кто вам говорит, что они не могут дать вам вредоносные данные? Большинство основополагающих правил безопасности: не доверяйте никаким вводам данных в вашей системе.

Если вам нужен более подробный очиститель HTML очистителя, который является плагином lib и CakePHP для него, который позволяет вам придумать определенную фильтрацию. Например отключите <script> но разрешите <b> и <a>. Он может фильтровать разрешенные HTML-атрибуты. Прочтите документацию.

  • 0
    Я вижу, что эта функция также работает с массивами. Должен ли я использовать h() в поле зрения или контроллер? Например: echo $this->set('post', h($post)); или echo h($post['Post']['description']) ..
  • 0
    ИМХО во взгляде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню