经常会把网站的图片文件上传目录设置为只可上传文件但不能执行文件,就是要禁止执行权限。
本节就为大家介绍nginx上传目录的权限配置、禁止执行权限的方法。
Nginx禁止目录执行php文件权限
以下配置均在nginx配置的server处添加
代码如下 |
复制代码 |
location ~ /attachments/.*.(php|php5)?$ {
deny all;
}
|
禁止attachments目录执行php文件权限
2、多个目录
代码如下 |
复制代码 |
location ~ /(attachments|upload)/.*.(php|php5)?$ {
deny all;
}
|
禁止attachments与upload目录执行php文件权限
代码如下 |
复制代码 |
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;
}
|
配置完后,重新reload 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;
}
|
1、单个目录
Apache禁止目录执行php文件权限
以Apache 模块方式运行 PHP,你可以在vhosts配置文件中添加如下代码:
代码如下 |
复制代码 |
php_flag engine off
Order allow,deny
Deny from all
|
禁止upload目录执行php文件权限