nginx配置禁止访问目录或禁止访问目录下的文件
某些网站系统需要用户上传图片等文件到某些目录下,难免程序有些漏洞,导致用户上传了php、cgi等等可执行的文件,导致网站陷入非常为难的境地. 此时我们可以通过nginx来禁止用户访问这些目录下的可执行文件。如果不禁止,nginx会直接去下载web目录下文件,如果有配置文件,并可以直接暴露一些配置文件源代码。测试时要清理浏览器缓存,浏览器会缓存下载的文件。如果有类似配置文件,建议不要放在web目录下,会更加安全。
禁止访问特定后缀文件
1 | location ~ \.(php|jsp|txt)$ { |
禁止访问某个目录下的php后缀文件
1 | location /directory { |
禁止访问多个目录下的php后缀文件
1 | location ~* ^/(directory1|directory2)/.*\.(php)${ |
禁止访问目录或目录下文件
1 | #禁止访问目录 |
nginx location的匹配语法
= 表示精确匹配
^~ 表示uri以某个字符串开头
~ 正则匹配(区分大小写)
* 正则匹配(不区分大小写) !和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/ 任何请求都会匹配
匹配优先级: = > ^~ > /
参考
- nginx配置禁特定路径下的反向代理
- nginx配置禁止访问目录或禁止访问目录下的文件
- nginx跨域处理
- 带你深入了解nginx基本登录认证(包含配置步骤)
- 使用htpasswd生成密码
- 使用openssl生成密码
- 使用python生成密码
- 你的nginx登录认证安全吗?
- 配置http基本验证(Basic Auth)
- Centos安装htpasswd_Nginx中使用htpasswd
- 带你深入了解nginx基本登录认证(包含所有配置步骤和深度解析)
- 带你深入了解nginx基本登录认证:使用htpasswd生成密码
- 带你深入了解nginx基本登录认证:使用openssl生成密码
- 带你深入了解nginx基本登录认证:使用python生成密码