Ich akzeptiere Markdown und muss es in HTML konvertieren, um sicher in Django zu rendern. Im Moment bin ich die Annahme des form.cleaned_data und dessen Umwandlung in HTML mit:Django/Python: Markdown in sicheres HTML konvertieren
import markdown
html_body = markdown.markdown(body_markdown, safe_mode=True)
html_body = html_body.replace('[HTML_REMOVED]', '')
return html_body
In der Vorlage, ich bin Rendering es als:
{{ object.content|safe|capfirst }}
Allerdings, wenn Sie Post:
0;url=javascript:alert('hi');" http-equiv="refresh
Die JS wird rendern, so dass XSS möglich ist.
Danke für die Antwort. Ich habe "sicher" aus der Vorlage entfernt, es wird jedoch immer noch gerendert. In der JS schließe ich nicht nur Skript-Tags "0; url = javascript: alert ('hi');" http-equiv = "refresh", das den JS-Filter durchläuft. – user1846171
wo wird gerendert? Wenn der HTML-Code entfernt wird und keine '