Как вы htmlencode используете html agility pack?

html-agility-pack html-encode xss

Вопрос

Кто-нибудь сделал это? В принципе, я хочу использовать html, сохраняя основные теги, такие как h1, h2, em и т. Д .; очистить все не-http-адреса в img и теги; и HTMLEncode каждый другой тег.

Я застрял в части кодирования HTML. Я знаю, чтобы удалить узел, который вы делаете «node.ParentNode.RemoveChild (node)»; где node является объектом класса HtmlNode. Вместо того, чтобы удалять узел, я хочу HTMLEncode.

Популярные ответы

Вам нужно будет удалить узел, представляющий элемент, который вам не нужен. Затем закодированный HTML должен быть добавлен в виде текстового узла.

Если вы не хотите обрабатывать дочерние элементы элементов, которые вы хотите выбросить, вы должны просто использовать OuterHtml ... что-то вроде этого может работать:

node.AppendChild(new HtmlTextNode { Text = HttpUtility.HtmlEncode(nodeToDelete.OuterHtml) });


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему