предотвратить xss, но разрешить все теги html

Я строю блог, и в настоящее время я заканчиваю админку.

Так как я буду главным, кто будет управлять этим ... я хочу убедиться, что когда я наберу

<ul>
   <li>test</li>
   <li>test</li>
</ul>

покажет мне неупорядоченный список, но и предотвратитXSS теги на всякий случай ...

как я мог это сделать?

может ли решение создавать функции и заменять тегиul, ol, img и т.д...?

 fxuser22 мар. 2012 г., 18:08
@BalusC пропустил это, обновил вопрос ... я использую php.
 BalusC22 мар. 2012 г., 18:06
Конкретный ответ зависит от используемого языка веб-программирования. Если бы это было, например, Java, вы могли бы использоватьJsoup за это. Пожалуйста, измените свой вопрос, чтобы упомянуть и пометить его соответствующим образом.
 ComFreek22 мар. 2012 г., 18:25
Вы могли бы использоватьОчиститель HTML.

Ответы на вопрос(3)

 rs.22 мар. 2012 г., 18:51
@colin Я указал пользователю на метод в качестве примера, OP может увидеть, как его можно использовать для удаления тегов XSS и расширения / повторного использования.
 Colin Pickard22 мар. 2012 г., 18:27
Кроме того, если вы хотите использовать уценку в качестве входных данных, проверьтеmichelf.com/projects/php-markdown
 Colin Pickard22 мар. 2012 г., 18:26
Первый URL-адрес представляет собой HTML-дезинфицирующее средство, созданное для StackOverflow, но обратите внимание, что он допускает только небольшое подмножество тегов и не отвечает желанию ОП разрешить «все HTML-теги».

ующем:

запустить HTML через (настоящий) HTML-парсерудалите любой элемент или атрибут, которого нет в белом списке (используйте сторонний белый список в качестве отправной точки, изучите любые дополнительные элементы / атрибуты, которые вы добавляете, чтобы убедиться, что у них нет средств для внедрения JS, которые вы не делаете знать о).проверка работоспособности любых URIгенерировать чистый HTML из DOM

Особенности будут зависеть от языка, который вы используете.

 Colin Pickard22 мар. 2012 г., 18:35
Пункт (2) очень трудно сделать правильно самостоятельно. Например, если вы разрешите элемент<a> с атрибутомhref, тогда<a href="javascript:alert('XSS')">` может стать сюрпризом для вас. И это прежде, чем вы доберетесь до<span style="{ text-size: "expression(alert('XSS'))"; }">, Разумной вещью в этой ситуации является использование проверенной библиотеки.
 ComFreek22 мар. 2012 г., 18:26
+1 за(real) HTML parser вместо регулярных выражений!

что вы ищете, это дезинфицирующее средство HTML. Их очень сложно написать правильно, поэтому вы должны взглянуть на существующую библиотеку. Для PHP, посмотрите наОчиститель HTML.

Надлежащая защита XSS включает в себя не только санитарную обработку html. Проект Open Web Application Security Project (OWASP) составил каноническое руководство по предотвращению атак XSS:

Шпаргалка по профилактике межсайтовых сценариев

Ваш ответ на вопрос