nginx配置禁⽌访问⽬录或禁⽌访问⽬录下的⽂件
某些⽹站系统需要⽤户上传图⽚等⽂件到某些⽬录下,难免程序有些漏洞,导致⽤户上传了php、cgi等等可执⾏的⽂件,导致⽹站陷⼊⾮常为难的境地. 此时我们可以通过nginx来禁⽌⽤户访问这些⽬录下的可执⾏⽂件。如果不禁⽌,nginx会直接去下载web⽬录下⽂件,如果有配置⽂件,并可以直接暴露⼀些配置⽂件源代码。测试时要清理浏览器缓存,浏览器会缓存下载的⽂件。如果有类似配置⽂件,建议不要放在web⽬录下,会更加安全。
禁⽌访问特定后缀⽂件
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;
}
nginx location的匹配语法
= 表⽰精确匹配
^~ 表⽰uri以某个字符串开头
~ 正则匹配(区分⼤⼩写)
~* 正则匹配(不区分⼤⼩写) !和!*分别为区分⼤⼩写不匹配及不区分⼤⼩写不匹配的正则nginx 配置文件
/ 任何请求都会匹配
匹配优先级: = > ^~ > /
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论