如果不让有执行权限最简单的办法
代码如下 |
复制代码 |
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;
}
|