nginx下目录无执行权限禁止运行php文件的设置方法 -云主机博士

nginx下目录无执行权限禁止运行php文件的设置方法 -云主机博士 第1张

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|yunzhujiboshi/templates|yunzhujiboshi)/.*\.(php|php5|html)?$
    {
    deny all;
    }

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

添加完执行:

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

测试配置文件

执行:

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

载入配置文件使其生效

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取


iproyal.png
原文链接:,转发请注明来源!
「nginx下目录无执行权限禁止运行php文件的设置方法 -云主机博士」评论列表

发表评论