Белый список .NET HTML (анти-xss / межсайтовый скриптинг)
у меня общая ситуация, когда яу нас есть пользовательский ввод, который использует подмножество HTML (ввод с помощью tinyMCE). Мне нужна некоторая защита на стороне сервера от атак XSS, и я ищу хорошо протестированный инструмент, который люди используют для этого. На стороне PHP яя вижу много библиотек, таких как HTMLPurifier, которые делают эту работу, но я могуКажется, что-то найти в .NET.I
Я в основном ищу библиотеку для фильтрации до белого списка тегов, атрибутов этих тегов, и делает правильные вещи с "сложно" атрибуты, такие как: href и img: srcI '
видел Джеффа Этвудапост вhttp://refactormycode.com/codes/333-sanitize-htmlно я нене знаю, насколько это актуально. Имеет ли это какое-либо отношение к тому, что сайт использует в настоящее время? И в любом случае яя не уверен, что яЯ доволен этой стратегией, пытаясь отыграть действительный вклад.
В этом сообщении в блоге изложена более убедительная стратегия:
Этот метод заключается в том, чтобы фактически проанализировать HTML-код в DOM, проверить его, а затем восстановить из него действительный HTML-код. Если разбор HTML может разумно обрабатывать искаженный HTML, то отлично. Если нет, то ничего страшного - я могу потребовать правильно сформированный HTML, поскольку пользователи должны использовать редактор tinyMCE. В любом случае яЯ переписываю то, что я знаю, это безопасный, правильно сформированный HTML.
Проблема в том, что'Это просто описание без ссылки на какую-либо библиотеку, которая фактически выполняет этот алгоритм.
Существует ли такая библиотека? Если нет, то что будет хорошим механизмом парсинга .NET HTML? И какие регулярные выражения следует использовать для дополнительной проверки a: href, img: src? Я скучаю по чему-то еще важному здесь?
Я неЯ не хочу повторно внедрить колесо с ошибками здесь. Конечно, естьЕсть некоторые часто используемые библиотеки. Есть идеи?