2015-10-07 41 views

回答

1

Nginx默認情況下沒有任何處理程序。如果在nginx配置的server部分中沒有配置處理程序,則無需擔心。如果它是乾淨的nginx安裝,沒有什麼可擔心的。

如果只有一種方法可以運行python代碼,請檢查您的nginx配置 - 通過gunicorn和django的wsgi.py文件。

+0

我怎麼會做這樣的檢查? – Daniel

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; 
} 
相關問題