试图用nginx阻止类似的恶意请求

时间:2016-01-22 19:51:32

标签: regex nginx

我无法阻止大量的

微妙变化的请求
/shop/?filter_product-categories=232%2C149%2C148%2C71%2C86&query_type_product-categories=or HTTP/1.1

只有字母数字块发生变化。我尝试过使用

location ~ /(.*)([^a-z]*)query_type_product-categories=or(.*) {
  return 403;
}

和几个不同的变化,但还没有任何运气。我承认对nginx很新,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

添加位置区块以处理/shop/ URI,条件return位于顶部。

下面的$arg_变量包含query_type_product-categories参数的值,其中前两个字符经过测试:

location = /shop/ {
    if ($arg_query_type_product-categories ~ ^or) {
        return 403;
    }
    ...
}

不确定...中的内容,可能是try_files

有关详情,请参阅this document。并this谨慎对待if。