2010-03-01 85 views
8

我想讓用戶留下富文本評論,可能使用降價。我已經安裝了Reddit上使用的庫,但是擔心去年發生的JavaScript注入攻擊,尤其是因爲我仍然不清楚攻擊是如何完成的。我還應該關注評論安全嗎?有沒有一個測試字符串,我可以通過我的系統來檢查相同的缺陷,記下了reddit?安全的Python降價庫

回答

4

Python-Markdown - 「標準」一個或多或少的 - 有一個「安全模式」功能,逃脫的HTML標籤。這應該足以應對大多數HTML注入攻擊。

4

reddit的使用現在discount markdown library

+0

我在純Python環境(谷歌應用程序引擎)工作,所以我不認爲我可以用一個C庫。我正在研究上面提到的圖書館清道夫,並且還查看了來自reddit的filters.py和markdown.py代碼。這個免費的智庫圖書館可能會被放到另一個項目中,而顯然你希望reddit代碼能夠在reddit中工作,這樣我就可以使用自由智慧代碼。另一方面,我很好奇你爲什麼需要編寫自己的過濾代碼 - 我應該注意到公共可用庫中是否存在漏洞? – MichaelBlume 2010-03-16 18:38:45

2

其他的答案提到的Python降價的安全模式,但現在已被棄用。 Python的降價的作者已經被引述的說法:

「安全模式」是一個可憐的名字的選擇,我們繼續使用落後 可比性(舊代碼仍然與我們的新版本)。它真的 是一個無標記模式。換句話說,這只是一種禁止原始html的方法,並且不能保證安全。

他們現在建議使用HTML消毒劑像Bleach消毒降價輸出。 mdx_bleach是一個Python-Markdown擴展,可以做到這一點。免責聲明:我是這個擴展的作者。

因爲它使用html5lib解析文檔片段以同樣的方式做瀏覽器,漂白劑是非常抵禦未知的攻擊,遠遠超過了基於正則表達式的消毒劑。