Django 1.8 docs陳述:「如果您正在提供自己的靜態文件,請確保像Apache的mod_php這樣的將執行靜態文件作爲代碼的處理程序禁用。如何禁用Gunicorn + Nginx可能存在的任何此類處理程序?禁用靜態文件作爲代碼執行,使用Django,Gunicorn,Nginx
2
A
回答
1
Nginx默認情況下沒有任何處理程序。如果在nginx配置的server
部分中沒有配置處理程序,則無需擔心。如果它是乾淨的nginx安裝,沒有什麼可擔心的。
如果只有一種方法可以運行python代碼,請檢查您的nginx配置 - 通過gunicorn和django的wsgi.py
文件。
1
基本上,Django的開發人員警告你一個衆所周知的網絡漏洞。
https://www.owasp.org/index.php/Unrestricted_File_Upload
由於nginx的只能提供靜態文件,必須使用動態頁面的應用程序服務器,處理器(PHP-FPM,gunicorn,uwsgi)。
可能是因爲你使用的是舊的nginx的PHP配置(和PHP-FPM的處理器)的情況下,你添加gunicorn用於服務Django應用程序,那麼用戶可以管理上傳PHP文件Django的media
dir,稍後通過您的傳統PHP處理程序執行它。
這是一個非常奇怪的情況,這可能發生在一個新鮮的網站沒有機會,你永遠不會添加一個django應用程序的PHP處理程序。
一個PHP處理程序是這樣的:
location ~ \.php$ {
expires off;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_keep_conn on;
}
相關問題
- 1. django + gunicorn + nginx 404服務靜態文件
- 2. 與gunicorn,django和nginx的靜態文件
- 3. Nginx給django靜態文件403代碼
- 4. Django的文件權限:Gunicorn,Nginx和靜態文件
- 5. 無法在osx上使用nginx + gunicorn查看靜態文件
- 6. HTTP服務和Django(Nginx的+ Gunicorn)的靜態文件
- 7. 提供靜態文件nginx的+ Gunicorn + Django的
- 8. 的Django + Nginx的+ Gunicorn - 404靜態文件時,調試是假
- 9. Django靜態文件和nginx
- 10. django用nginx提供靜態文件
- 11. Django Gunicorn不加載靜態文件
- 12. NGINX爲Django App提供靜態文件
- 13. Django - 使用Gunicorn,Nginx和Supervisor進行部署,Gunicorn錯誤日誌
- 14. 我該如何使用nginx和gunicorn爲Django應用程序服務靜態文件?
- 15. django + gunicorn + nginx wierdness
- 16. Nginx + gunicorn + django
- 17. 使用Whitenoise製作Django靜態文件
- 18. Nginx響應404 Django應用程序,但靜態文件工作
- 19. 錯誤在Django執行靜態文件
- 20. 使用nginx的和gunicorn服務的Django
- 21. Nginx只爲django應用程序部分提供靜態文件
- 22. Nginx的/ Django的:訪問靜態文件的結果403禁止
- 23. 使用Nginx將動態生成的文件作爲靜態文件提供
- 24. Nginx的不是靜態文件服務(Django的+ Gunicorn)權限被拒絕
- 25. Nginx沒有提供Django靜態文件
- 26. Django + nginx提供私人靜態文件
- 27. django:通過nginx提供靜態文件
- 28. 使用django + fastcgi從nginx提供靜態文件debian
- 29. Django/gunicorn/nginx:403 Forbidden
- 30. 將靜態內容從Django/Gunicorn傳遞到Nginx
我怎麼會做這樣的檢查? – Daniel