2010-01-07 76 views
1

對於我正在構建的網站,我希望用戶能夠爲視頻和音頻網站提供嵌入代碼。我知道這會帶來安全風險,所以我想在Django中找出如何過濾所提供的html,以便只允許某些標記和某些站點。Django,允許用戶使用嵌入/對象html和XSS保護

有沒有人有任何提及我如何能完成這與Django?

回答

1

使用lightweight markup language然後轉換爲HTML可能會更好。這可以防止他們玩遊戲來繞過任何HTML檢查。完全正確地檢查HTML'gotchas'是非常困難的。

這樣做是從的學校排序這是不明確允許的是禁止

+0

如果您使用creoleparser(http://pypi.python.org/pypi/Creoleparser/0.6.1),您可以創建生成嵌入代碼的宏(例如,定義一個'youtube'宏,以便人們可以使用'< >'在他們的標記中,'googlevideo'宏等)。 – LeafStorm 2010-01-07 22:41:57

+0

@LeafStorm:感謝您的鏈接。我以前沒有見過這個特別的。 – 2010-01-07 22:54:02

+0

將XSS漏洞嵌入到輕量級標記語言中是完全可能的。以下是MarkDown的一個例子:http://michelf.com/weblog/2010/markdown-and-xss/ – 2011-07-25 22:52:54