某些网站系统需要用户上传图片等文件到某些目录下,难免程序有些漏洞,导致用户上传了php、cgi等等可执行的文件,导致网站陷入非常为难的境地, 此时我们可以通过nginx来禁止用户访问这些目录下的可执行文件。
nginx配置:

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

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

也有人会选择这样写:

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

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

403页面配置:

error_page 403 http://www.xxxx.net/public/404.html;

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

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

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