我接受 Markdown 并需要将其转换为 HTML 以在 Django 中安全呈现。现在我正在接受 form.cleaned_data 并将其转换为 HTML:
import markdown
html_body = markdown.markdown(body_markdown, safe_mode=True)
html_body = html_body.replace('[HTML_REMOVED]', '')
return html_body
在模板中,我将其渲染为:
{{ object.content|safe|capfirst }}
但是,如果您发布:
0;url=javascript:alert('hi');" http-equiv="refresh
JS 将呈现,因此 XSS 是可能的。