2013-03-21 41 views
7

official docs說staticfiles的,serve觀點:通過Django提供靜態文件的安全問題?

...這種觀點是非常低效的,可能不安全

該警告僅適用於這個特定的觀點,還是有安全問題通過Django提供靜態文件的概念所固有的?他們是什麼?假設我已經對我的應用程序進行了基準測試並且性能是可以接受的,那麼是否還有其他問題需要注意?

回答

8

,因爲它不必是安全

通過Django的靜態文件服務這是不安全意味着你經過Python代碼做一些你的服務器會顯著更有效地做

鑑於服務靜態文件在性能方面是災難性的,所以沒有人會在生產中使用該文件。
因此,沒有人關心在Django中服務靜態文件的安全性。
因此,這種觀點是可能不安全


最終,它與開發服務器的基本原理相同。你不是假設將在生產中使用它,而不是一個人致力於使其安全。這對於開發來說很實用。

此外,效率低下的事情會使您暴露於DoS攻擊。所以是的,這是不安全的。

但是你不應該使用它。

你爲什麼通過Django提供靜態文件?它是否控制對這些文件的訪問?

如果是,則應使用X-Accel-Redirect(Nginx)或(Apache)標頭。

但是不要自己動手,請使用:https://github.com/johnsensible/django-sendfile