XSS защита и очиститель HTML - PullRequest
       48

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

0 голосов
/ 15 октября 2011

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

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

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

1 Ответ

0 голосов
/ 15 октября 2011

Используйте $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: вы должны что-то делать с данными, верно?В ваших моделях, когда вы что-то делаете, просто сделайте очистить () частью этого процесса:

$postdata = purify($_POST); 
...