Я поставил следующие правила:
rewrite ^.*[><@`].*$ /_forbidden_/ break;
location /_forbidden_/ {
return 403;
}
Если я набираю простые URL'ы с > или <, то получаю как и положено
Forbidden, а вот некоторые запросы проскакивают через это правило:
Вот этот запрос стабильно пробрасывается на backend
http://SITE/4pEKbbNS[UGZVLZf2oBMGlY7EZH?alIPZ_VjoBH8^VTS35=:@S^f^n?2X^k5U6U`@[
7F 2g
<]g<UVY[k]K`iep>H>\`X:p2JhNeWEi=EW]NLj:oOXb7JgddHZ7\:8_\lO]:=hoJG5?]_Ao
Bgdij?T[8Bep_?6i2ZcrBmf`Ip@g\l?[hAeHpNBWZ.html
где я не прав ? Очень хочется чтобы все запросы содержащие > < ` @
были заблокированы.
В этом запросе эти символы находятся после '?', то есть, являются аргументами,
а сейчас переписывается только uri:
Игорь Сысоев
http://sysoev.ru