2010-01-01 57 views
2

因此,根據以前的question of mine我決定啓動一個允許Django設計者上傳模板和CSS文件的網站。我將提供一組定義好的上下文輸入和對象,然後呈現用戶提供的模板。這將有希望爲新手提供一整套示例,爲設計師提供一個伸展翅膀的好方法。安全地呈現用戶提供的Django模板

我需要一種方法來確定模板是否「安全」渲染。希望確保沒有惡意的JavaScript,瘋狂的路徑請求會破壞我的網絡服務器等等。現在我知道沒有保證消毒這些東西的方法,但我想要的不僅僅是「相信我的用戶」。

任何建議將受到歡迎。

回答

3

我知道這並不完全是你所希望的,但最安全的選擇是允許最終用戶保存他們的模板的副本,呈現所有標籤轉義的HTML &。您可以允許他們上傳完成主題的圖片。

您的第二個選擇是允許他們上傳任何內容,但不會在網站上顯示,直到您審覈了他們提交的內容。

+0

感謝這個想法,我認爲這與DjangoSites.org的做法類似,但是我希望有更多的自動化。 – JudoWill 2010-01-01 02:46:36

+0

真的,你不能相信隨機用戶。任何可能導致未經檢查的... *任何東西*都可能導致發生不良情況:href,src,iframe,javascript,甚至url()在css文件等中。 – 2010-01-01 04:11:12

+0

我一直在尋找和我認爲你是對的。我製作了一個表單,將文件(轉義!!!)複製到電子郵件中。我只需要掃描任何「腥」的東西,然後批准或不批准。我有足夠的知識知道人們何時做他們不應該做的事情。 – JudoWill 2010-01-01 17:21:30