English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    lnmp去掉nginx上传目录的PHP执行权限

    2011年06月12日 上午 | 作者:VPS侦探

    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 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
    VPS侦探推荐:
    遨游主机DiaHostingLinodePhotonVPSOAH新加坡VPSLOCVPSKVMLAVPS2EZBudgetVMVultr美国VPS主机
    欢迎加入VPS侦探论坛交流:https://bbs.vpser.net

    发表评论

    *必填

    *必填 (不会被公开)

    2 + 6 = ?

    评论(20条评论)

    1. 我安装的是lnmpa,该怎么去掉上传目录的PHP执行权限

      VPS侦探 回复:

      @lige9, LNMPA下的设置和LNMP是一样的,因为Nginx是前端,禁用执行权限的代码要在转发php的前面。

    2. 您好
      我这样设置后,站点的图片都无法显示,不懂是什么问题啊?3Q

      VPS侦探 回复:

      @dong4567, 你看看图片链接是什么,如果是通过php显示的图片,并且该文件在禁止执行的目录的话会无法显示。