指引网

当前位置: 主页 > 服务器 > Nginx >

nginx配置禁止访问或执行目录或文件

来源:网络 作者:佚名 点击: 时间:2017-06-13 21:34
[摘要]  一般情况下我们的图片或文件上传目录是不需要执行像服务器脚本权限了,如php|php5|jsp不需要了,下面我们就来看一个禁止指定目录不能执行php|php5|jsp的例子。


nginx配置:

location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {
    deny all;
}

tips:在目录uploads、images目录下面的所有php、jsp都不能访问。

也有人会选择这样写:

location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {
    return 403;
}

这样也是一样的,如果配置了403页面,会跳转过去。

禁止执行脚本


location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|sh|cgi)$ {
 return 403;
 error_page 403 /403_error.html;
 }

作用:在目录images、cache、media、logs、tmp目录下面的所有php、pl、py、jsp、sh、cgi都不能访问。


403页面配置:

error_page 403 http://www.111cn.net/404.html;

还有一些问题也需要注意,就是我们可能在站点的任一目录下放置了.sql文件,我们可以通过下面的方式禁止浏览器访问。

location ~.*\.sql {
    deny all;
}

这样,任一目录的sql文件都不会被用户访问到了。

重启nginx

/usr/local/nginx-1.7.0/sbin/nginx -s reload

------分隔线----------------------------