2014-04-08 16:01:01
来 源
kejihao
Linux
本文介绍Nginx服务器禁止执行上传目录中的PHP程序,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。下面VPS侦探详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限。

首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

1、单个目录去掉PHP执行权限

location ~ /attachments/.*.(php|php5)?$ {

deny all;

}

将attachments目录的PHP执行权限去掉。

2、多个目录去掉PHP执行权限

location ~ /(attachments|upload)/.*.(php|php5)?$ {

deny all;

}

将attachments、upload这二个目录的PHP执行权限去掉。

附上一个完整的虚拟主机的例子供参考:

server

{

listen 80;

server_name bbs.vpser.net;

index index.html index.htm index.php;

root /home/wwwroot/bbs.vpser.net;

include discuz.conf;

location ~ /(attachments|upload)/.*.(php|php5)?$ {

deny all;

}

location ~ .*.(php|php5)?$

{

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fcgi.conf;

}

access_log off;

}

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。