xss защита и очиститель HTML

В настоящее время я использую фреймворк CodeIgniter и хочу усилить защиту XSS с помощью HTMLPurifier (http://htmlpurifier.org/).

Правильно ли я понимаю, что вы хотите «очистить» данные в посте, чтобы они были очищены перед добавлением в базу данных? Или мне запустить его перед отображением в представлении?

Если да, хочу ли я запускать HTMLPurifier для каждой отдельной публикации? Поскольку приложение содержит множество форм, я бы не хотел выборочно выбирать, что нужно очищать, а что нет - если я могу перехватить все сообщения, можно ли это сделать? Конечно, я все равно проверяю некоторые поля (например, адреса электронной почты, числовые числа и т. Д.)


person JonoB    schedule 14.10.2011    source источник


Ответы (1)


Используйте $this->input->post(), чтобы получить $_POST данные. Codeigniter фильтрует его автоматически, если для глобального фильтра xss установлено значение true.

См. Документы: http://codeigniter.com/user_guide/libraries/input.html


Изменить: уточнить

Да, вы должны фильтровать перед вставкой в ​​БД, и да, вы должны фильтровать весь пользовательский ввод.

Быстрый поиск в Google, http://www.google.com/search?q=codeigniter+htmlpurifier, на эту страницу: http://codeigniter.com/wiki/htmlpurifier, который является помощником для htmlpurifier. Что касается сбора всех данных $ _POST: вы должны что-то делать с данными, верно? В ваших моделях, когда вы что-то делаете, просто сделайте purify () частью этого процесса:

$postdata = purify($_POST); 
person stormdrain    schedule 15.10.2011