我在應用中使用Markdown來顯示用戶簡歷。我希望用戶能夠略微地設置傳記的格式,所以我讓他們使用TinyMCE編輯器。Django XSS安全降價
然後,在Django的模板顯示像這樣
{% load markup %}
<div id="biography">
{{ biography|markdown }}
</div>
問題是,如果在傳一個標籤,它沒有被轉義爲Django的做其他任何地方。這是來自傳記測試的源輸出:
<p><strong>asdfsdafsadf</strong></p>
<p><strong>sd<em>fdfdsfsd</em></strong><em>sdfsdfsdfdsf</em>sdfsdfsdf</p>
<p><strong>sdafasdfasdf</strong></p>
<script>document.location='http://test.com'</script>
如何設置Markdown來轉義這些惡意腳本?
是否有一種簡單的方法來處理「傳記」包含您想要的HTML代碼示例的情況顯示? –