Wie htmlencode html agility pack verwenden?

html-agility-pack html-encode xss

Frage

Hat jemand das getan? Im Grunde möchte ich den HTML-Code verwenden, indem ich grundlegende Tags wie h1, h2, em usw .; bereinige alle Nicht-HTTP-Adressen in der IMG- und A-Tags; und HTMLEncode jeden anderen Tag.

Ich bin im HTML-Coding Teil fest. Ich weiß, um einen Knoten zu entfernen, machen Sie einen "node.ParentNode.RemoveChild (node);" wo Knoten das Objekt der Klasse HtmlNode ist. Anstatt den Knoten zu entfernen, möchte ich ihn jedoch HTMLEncodieren.

Beliebte Antwort

Sie müssten den Knoten entfernen, der das Element darstellt, das Sie nicht möchten. Das codierte HTML müsste dann erneut als Textknoten hinzugefügt werden.

Wenn Sie die untergeordneten Elemente der Elemente, die Sie wegwerfen möchten, nicht verarbeiten möchten, sollten Sie nur OuterHtml verwenden können. So etwas könnte funktionieren:

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



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum