修改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文件都不能执行,但是图片等其它文件又可以被访问到。