2014-01-21 20 views
1

對於內部公司的webapp,我希望用戶能夠編輯一個存儲爲模型的Django模板,該模板隨後用於通過屏幕上的預覽呈現表單電子郵件。這樣做的安全風險是什麼?呈現用戶輸入Django模板的安全風險是什麼?

+0

例如,在模板內部使用非HTML代碼混淆可能會導致它破壞,並且您的應用程序可能會引發異常。 –

+0

@PauloBu - 謝謝,是的,我正在處理異常。無論如何,我現在擔心安全問題。破碎的模板是否會造成安全風險? – Ghopper21

+1

什麼都沒有想到。模板由Django模板引擎呈現。他們只能訪問上下文中的對象,如果沒有對象是明智的(就像一個數據庫光標或類似的東西),那麼可能是安全的。 –

回答

2

它完全取決於您的模板在上下文中訪問哪些數據。這兩個領域,這是可能被確定爲:

  • context處理器(在你的settings.py文件中定義)
  • 意見,在那裏你傳遞上下文數據到渲染功能

如果你將你的設置對象等東西傳遞給你的上下文(不應該這樣做,但通常是這樣),那麼用戶將能夠獲得像你的數據庫證書這樣的東西。另外,如果您正在以調試模式運行(同樣,您不應該在prod中執行此操作),強制執行異常會導致顯示包含敏感數據的調試頁。

如果您只是使用django的默認上下文處理器,並且沒有通過視圖將任何敏感數據放入上下文中,那麼就安全性而言,您應該相當安全。

相關問題