Frage

Ich versuche, Wege zu finden, den Eingang des WMD Editor zu sanieren.

Insbesondere Ich versuche, HTML-Tags nur um in den <code>tags dass WMD erzeugt. Ist das möglich

Mein Problem ist, dass der folgende Code als HTML gerendert, die auf potenzielle vunerable XSS-Angriffe .

Zum Beispiel <a onmouseover="alert(1)" href="#">read this!</a>

Der obige Code macht normalerweise sowohl im Vorschaumodus und wenn in der Datenbank gespeichert.

Ich bemerke, dass Stack-Überlauf scheint nicht, dieses Problem zu haben. Der gleiche Code wird nur als Text dargestellt.

Ich stelle fest, dass die Stack-Überlauf-Team ihren Code geteilt in http://refactormycode.com / codes / 333-sanitize-html . Muss ich verwenden, C #, um zu sanieren WMD dies wirklich zu tun?

War es hilfreich?

Lösung

Ich landete mit HTML Purifier für diese.

Andere Tipps

Wenn Sie schlechte Skripte von WMD auf der Clientseite blockieren wollen, werfen Sie einen Blick auf meine Antwort hier: Richten Sie die Vorschau des WMD-Editor HTML mit serverseitigen HTML-Validierung (zB keine JavaScript-Code eingebettet).

Es zeigt, wie eine Client-Seite implementieren weißen Liste im Editor WMD Vorschau zu beschränken WMD Scheibe HTML bekannten sicheren HTML-Elemente und bekannt sichere HTML-Attribute. Es macht die Validierung nach WMD geneates seiner HTML, so dass selbst wenn es ein Fehler in dem HTML-Generation WMD-Editor, die schlechte Schrift, der Whitelist-Blocker wird es fangen, um durchzukommen erlaubt. Dieser Code basiert auf StackOverflow.com der Umsetzung derselben Validierung.

Das heißt, Sie serverseitige Validierung auch zu müssen (Wenn Sie PHP verwenden, HTML Purifier ist eine gute Wahl), denn selbst wenn Sie den Client zu beheben, die nicht einen Angreifer nicht daran hindern, einen Browser zu simulieren und bösartigen Abschlag von POST-ing auf den Server speichern. Damit clientseitige WMD previewer Validierung nicht tatsächlich erforderlich ist, es sei denn gegen einen obskuren Fall zu verteidigen, wo ein Angreifer schafft Abschlag auf den Server zu erhalten kompromittiert, und dazu verleitet, eine Seite-Moderator zu bearbeiten die Seite. In diesem Fall Client WMD previewer Validierung könnte ein Angreifer die Übernahme der gesamten Website verhindern.

Auch die clientseitige Validierung tun kann hilfreich sein, denn dann wissen Sie, dass die gleichen Tags und HTML vom Client erlaubt werden auch auf dem Server zugelassen werden. Achten Sie darauf, die serverseitige Whitelist mit dem Client zu synchronisieren weißen Liste. Stackoverflow der weißen Liste hier ist wenn Sie ein Beispiel möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top