2010-06-07 3 views
2

На моем сайте используется редактор WYSIWYG для пользователей, чтобы обновлять свои учетные записи, вводить комментарии и отправлять личные сообщения.PHP XSS Prevention WhiteListing

Редактор (CKEditor) отлично подходит для того, чтобы разрешить пользователям вводить действительный ввод, но я беспокоюсь об инъекции через TamperData или другими способами.

Как я могу контролировать это на стороне сервера?

Мне нужен белый список конкретных тегов: <b><ul><ol><a><img><br>, будет ли это безопасным подходом к предотвращению XSS?

ответ

7

Использование HTML Purifier:

HTML Purifier является стандартами HTML фильтр библиотеки написаны на PHP. HTML-очиститель не только удалит все злонамеренный код (более известный как XSS) с тщательно проверенным, безопасным, но разрешающим белым списком.

+0

Есть ли преимущество сделать это над strip_tags с моим собственным белым списком? – pws5068

+0

Собственно, я нашел свой ответ здесь: http://htmlpurifier.org/comparison Благодарим за помощь. – pws5068

+0

@ pws5068: Добро пожаловать :) – Sarfraz

0

strip_tags станет вашим другом. Второй параметр позволяет передать массив разрешенных тегов strip_tags

+1

Второй параметр ** небезопасен **, поскольку он не удаляет атрибуты. Кто-то может использовать атрибуты на безопасном элементе, например. '
'. – Kornel

+0

Как вы назначаете, чтобы этот человек вводил код для evil_script? – MANCHUCK