Codeigniter Убрать HTML-теги из ввода - PullRequest
1 голос
/ 01 апреля 2010

Каков наилучший способ убрать HTML-теги из ввода?

Как я могу удалить теги HTML при проверке ввода

$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');

Нужно ли добавлять пользовательский метод обратного вызова в правила проверки?

Ответы [ 4 ]

14 голосов
/ 01 апреля 2010

Согласно это , вы можете добавить strip_tags непосредственно к set_rules():

Как правило, можно использовать любую встроенную функцию PHP, которая принимает один параметр, например htmlspecialchars, trim, MD5 и т. Д.

Так что это, вероятно, будет выглядеть так:

$this->form_validation->set_rules('description', 'Description', 
                                  'trim|xss_clean|strip_tags');
5 голосов
/ 01 апреля 2010

Общая фильтрация входных данных приложения полностью поддельная. Он будет искажать потенциально допустимый ввод и не будет надежно защищать от XSS. Единственный способ обезопасить себя от XSS - правильно экранировать каждую текстовую строку, которую вы интерполируете в HTML на этапе вывода , например. используя htmlspecialchars.

CodeIgniter xss_clean делает довольно удивительно тупой и глупый набор искажений строк даже по очень очень низким стандартам инструментов «XSS Protection»; Вы не должны использовать его ни при каких обстоятельствах.

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

Нужно ли добавить пользовательский обратный звонок? способ проверки правил?

Я думаю, да, вы также можете сделать что-то вроде:

$stripped = strip_tags($content);
1 голос
/ 18 июля 2015

Пожалуйста, используйте этот код

$this->form_validation->set_rules('description', 'Description', 
                                  'trim|strip_tags|xss_clean');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...