reddit verwendet die Rabatt Abschlag Bibliothek jetzt.
Ich möchte Benutzern ermöglichen, Rich-Text-Kommentare zu hinterlassen, möglicherweise mithilfe von Abschriften. Ich habe die Bibliotheken installiert, die auf Reddit verwendet werden, bin aber besorgt über den Javascript-Injektionsangriff, der letztes Jahr stattfand, zumal ich immer noch nicht genau weiß, wie der Angriff durchgeführt wurde. Sollte ich mich noch um die Kommentarsicherheit kümmern? Gibt es eine Testzeichenkette, die ich durch mein System legen kann, um nach den gleichen Fehlern zu suchen, die reddit genommen haben?
Python-Markdown - der "Standard" mehr oder weniger - hat eine "Safe Mode" -Funktion das entkommt HTML-Tags. Das sollte ausreichen, um den meisten HTML-Injection-Angriffen entgegenzuwirken.
Die anderen Antworten erwähnen den abgesicherten Modus von Python-Markdown, aber das ist jetzt veraltet. Die Autoren von Python-Markdown wurden zitiert:
"safe-mode" war eine schlechte Namenswahl, die wir weiterhin für rückwärts verwenden Vergleichbarkeit (alter Code funktioniert immer noch mit unseren neueren Versionen). Was es wirklich ist Dies ist ein Nicht-Markup-Modus. Mit anderen Worten, es ist nur eine Möglichkeit, rohes HTML zu verbieten und garantiert wirklich keine Sicherheit.
Sie empfehlen jetzt, einen HTML-Desinfizierer wie Bleach zu verwenden, um die Markdown-Ausgabe zu bereinigen. mdx_bleach ist eine Python-Markdown-Erweiterung, die genau das tut. Haftungsausschluss: Ich bin der Autor dieser Erweiterung.
Da es HTML5lib verwendet, um Dokumentfragmente auf die gleiche Weise wie Browser zu parsen, ist Bleach extrem widerstandsfähig gegenüber unbekannten Angriffen, viel mehr als auf regulären Ausdrücken basierende Desinfektionsmittel.
Tags und Links python security markdown code-injection sanitization