漂泊的云,停留的心!
人的头脑太复杂,时间过得久……

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)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《nginx下目录无执行权限禁止运行php文件的设置方法》
文章链接:https://piaoyun.cc/427.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途云路窝农家乐,否则法律问题自行承担。