修改nginx的权限让网站目录手动或自动添加指定的权限


编辑: upupw 发布时间: 2013-04-30 23:06:37 来源: UPUPW绿色服务器平台 热度: 14872

通常,如果我们打开autoindex选项,那么当用户访问一个没有默认文件的目录时,会以资源浏览器的方式让用户查看,显然这是不安全的。

我们可以用#号注释autoindex值用来取消目录访问。

在Nginx下,要禁止用户查看文件夹结构,可以通过deny all来完成,Nginx会返回一个403错误。

我们以ThinkPHP的部署配置为例,目录结构应该是这个样子:

Project

     ├─ App

     ├─ Public

     ├─ ThinkPHP

     └─ index.php

从安全角度考虑,我们不希望用户访问到App和ThinkPHP目录,那么可以打开UPUPW nginx的vhosts.conf对指定的主机做如下配置

# 禁止访问App和ThinkPHP目录

location ~ ^.*/(App|ThinkPHP)/ {

deny all;

}

对于公共目录Public,会存放用户上传的文件,所以当然要禁止php文件的执行,配置如下

# 不解释Public目录下的php

location ~ ^.*/Public/(.*\.php)?$ {

       deny all;

}

如此一来,Public目录不能直接访问,并且其下的php文件都不能执行,但是图片等其它文件又可以被访问到。