lnmp去掉nginx上传目录的PHP执行权限
LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。下面VPS侦探详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限。
首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:
1、单个目录去掉PHP执行权限
location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}
deny all;
}
将attachments目录的PHP执行权限去掉。
2、多个目录去掉PHP执行权限
location ~ /(attachments|upload)/.*\.(php|php5)?$ {
deny all;
}
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 fastcgi.conf;
}access_log off;
}
{
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 fastcgi.conf;
}access_log off;
}
添加完执行:/usr/local/nginx/sbin/nginx -t测试配置文件,执行:/usr/local/nginx/sbin/nginx -s reload 载入配置文件使其生效。
如有问题欢迎在本文下方留言或到VPS论坛交流反馈。
原创文章,谢绝转载!
>>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/security/lnmp-remove-nginx-php-execute.html
@ลงประกาศฟรี, 只要没有需要直接访问php的都可以这样设置
一下。在wp-content下除了上传附件用的uploads外,还有plugins、themes等目录。所有这些目录也都需要做这样的设置么?
另外,是否关闭了pathinfo外,这个操作就可以免除了呢。谢谢
@wybie, 最后面附上的只是一个完整的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;
}
这部分添加到server的大括号里吗?
@memorytalks, LNMP不会默认处理,需要你自己添加
LNMP 0.9
还需要这样处理吗?
安装好 dicuzx设置 预览缩略图提示
系统设置错误,无法处理图片
出一个干净的lamp的吧
@弗兰卡, 不是所有,一般只设置上传目录就行。
关闭了pathinfo也可以弄,也可以不弄,弄上更安全些。
你好军哥,我想以WP为例问一下。在wp-content下除了上传附件用的uploads外,还有plugins、themes等目录。所有这些目录也都需要做这样的设置么?
另外,是否关闭了pathinfo外,这个操作就可以免除了呢。谢谢
这个真的不错 根本上解决问题
@BNE,
哦,你这个没问题了。但是为何非要有那个“?”
这样还是会有问题。看一下我的文章吧:
http://www.wooyun.org/bugs/wooyun-2011-01376
马上修改。
@小陈, lnmpa 不需要
这个不错,用lnmpa需要设置么?