欢迎光临
我们一直在努力

nginx下目录无执行权限禁止运行php文件的设置方法

LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。
建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。下面详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限。
那么在nginx里面同样可以实现这种方法,那就是location的优先匹配
首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:
1、单个目录去掉PHP执行权限

location ~ /attachments/.*.(php|php5)?$
{
deny all;
}

2、多个目录去掉PHP执行权限取消多个目录的php执行访问权限和模版目录文件的访问!
#取消多个目录的php执行访问权限和模版目录文件的访问!

location ~ /(uploadfile|piaoyun/templates|piaoyun)/.*\.(php|php5|html)?$
{
deny all;
}

注意这段secion一定要放在指定执行php section的前面才可以生效

添加完执行:

/usr/local/nginx/sbin/nginx -t

测试配置文件

执行:

/usr/local/nginx/sbin/nginx -s reload

载入配置文件使其生效

赞(0)
未经允许不得转载:飘云 » nginx下目录无执行权限禁止运行php文件的设置方法
分享到: 更多 (0)