Nginx配置禁止访问目录或禁止访问目录下的文件

TrumanWong
4/21/2022
TrumanWong

前言

通常网站系统需要用户上传文件到某些目录下,难免代码或框架存在漏洞,导致用户上传了phpcgi等可执行文件,从而网站被人利用攻击,此时我们可以通过nginx来禁止用户访问这些目录下的可执行文件。

方案

禁止访问指定后缀文件

location ~ \.(php|jsp|txt)$ {
	deny all;
}

禁止访问某个目录下的php后缀文件

location /directory {
	location ~ .*\.(php)?$ {
		deny all;
	}
}

禁止访问多个目录下的php后缀文件

location ~* ^/(directory1|directory2)/.*\.(php)$ {
	deny all;
}

禁止访问目录或目录下文件

# 禁止访问目录
location ^~ /test/ {
	deny all;
}

# 禁止访问目录下文件
location ^~ /test {
	deny all;
}