Nastradamus
@Nastradamus

Nginx. Не срабатывает условие в фигурных скобках регулярного выражения

Всем привет! Что-то замаялся я…

Пишу в location / вот такое условие:

if ($request ~* "/products/detail.php\?ID=.{7}")
{
access_log /var/log/nginx.error_log;
return 403;
}


После чего, nginx начинает блокировать и запросы вида:

/products/detail.php?ID=142

То есть, не работает условие «если символов после = больше или равно 7».

Посоветуйте, пожалуйста.
  • Вопрос задан
  • 4674 просмотра
Пригласить эксперта
Ответы на вопрос 2
avalak
@avalak
location /path/to/script.php {
    if ($arg_id !~ ^\d+$) {
        return 403;
    }
}
Ответ написан
stavinsky
@stavinsky
Смею предположить что .{7} это 7 любых символов, не только цифр. может пойти в сторону \d{7} или не очень помню как это в nginx. Плюс может у Вас там есть другие параметры дальше?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы