阻止特定的 Nginx 规则 URL
Nginx Rule to Block Specific URL
在编写阻止以下请求的规则方面需要一些帮助
有问题的 url 是:
www.somesite.com/catalogsearch/result/?q=downloader
我已经尝试了以下方法,但这不起作用
location ^~ catalogsearch/result/?q=downloader {
deny all;
}
我 "think" 因为 ?包含问号是将 url 视为查询字符串吗??
此致
如果你想通过参数 q=downloader
只在 URL www.somesite.com/catalogsearch/result/ 处阻止访问:
error_page 418 = @blockAccess;
location /catalogsearch/result {
if ($args ~* "q=downloader") {
return 418;
}
}
location @blockAccess {
deny all;
}
Add before location /
如果要屏蔽所有URL的q=downloader
参数,只需要在location
之前加上下面的代码:
error_page 418 = @blockAccess;
if ($args ~* "q=downloader") {
return 418;
}
location @blockAccess {
deny all;
}
如果要屏蔽 www.somesite.com/catalogsearch/result/ :
error_page 418 = @blockAccess;
# Add before "location /"
location /catalogsearch/result {
return 418;
}
location @blockAccess {
deny all;
}
在编写阻止以下请求的规则方面需要一些帮助
有问题的 url 是:
www.somesite.com/catalogsearch/result/?q=downloader
我已经尝试了以下方法,但这不起作用
location ^~ catalogsearch/result/?q=downloader {
deny all;
}
我 "think" 因为 ?包含问号是将 url 视为查询字符串吗??
此致
如果你想通过参数 q=downloader
只在 URL www.somesite.com/catalogsearch/result/ 处阻止访问:
error_page 418 = @blockAccess;
location /catalogsearch/result {
if ($args ~* "q=downloader") {
return 418;
}
}
location @blockAccess {
deny all;
}
Add before
location /
如果要屏蔽所有URL的q=downloader
参数,只需要在location
之前加上下面的代码:
error_page 418 = @blockAccess;
if ($args ~* "q=downloader") {
return 418;
}
location @blockAccess {
deny all;
}
如果要屏蔽 www.somesite.com/catalogsearch/result/ :
error_page 418 = @blockAccess;
# Add before "location /"
location /catalogsearch/result {
return 418;
}
location @blockAccess {
deny all;
}