我們經常會把網站的圖片文件上傳目錄設置為只可上傳文件但不能執行文件,就是要禁止執行權限,小編來給大家舉一個上傳目錄配置,禁止執行權限方法,各位可參考。
如果不讓有執行權限最簡單的辦法
代碼如下 |
復制代碼 |
location ~ ^/upload/.*.(php|php5)$ { deny all; } |
上面的方法滿足不了我要求,后來找到一個不錯的腳本
代碼如下 |
復制代碼 |
server { listen 80; server_name xxxx.com; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/xxxx.com; include none.conf; #匹配多個上傳目錄 location ~ ^/(Upload|Upload1) { # 匹配文件最名包含兩個.以上的文件 location ~ "([.]{2,})$" { deny all; } # 配置php和php5后綴 location ~ ".(php|php5)$" { deny all; } } location ~ .*.(php|php5)?$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 12h; } access_log off; } |
nginx下禁止dedecms目錄php執行權限的配置方法。
如下配置即可:
代碼如下 |
復制代碼 |
location ~ /mm/(data|uploads|templets)/*.(php)$ { deny all; } location ~ .php$ { try_files $uri /404.html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; includefastcgi_params; } |