Соответствие%ff в правилах перезаписи Nginx
У меня есть несколько сомнительных запросов на мой сервер, которые содержат %ff
а также %FF
(например, /blog/%ffupdates/
, Я получаю тысячи таких ежедневно и хотел бы начать перенаправлять их на 403. В настоящее время у меня есть конечная точка, которую я использую для черных дыр в подобных вещах, и хотел бы переписать эти URL-адреса, чтобы они указывали на эту конечную точку.
В настоящее время я пытаюсь:
rewrite ^/.*?%ff.*?$ https://domain.com/forbidden permanent;
Я полностью понимаю, что это может быть слишком жадным совпадением; однако, я просто пытаюсь заставить что-то работать изначально.
Теперь, когда я пробую это и просматриваю журнал отладки, кажется, что %ff
превращается в �
(да, это должен быть знак вопроса с бриллиантом).
Например, в журнале есть такие вещи:
*4 "^/.*?%ff.*?$" does not match "/blog/�updates/"
Кажется, потому что %ff
преобразован, я не могу сопоставить строку.
Я использую Nginx 1.7.1 с SSL и SPDY.
Какие-нибудь мысли?
1 ответ
Вы должны быть в состоянии соответствовать этому с помощью регулярных выражений. Например:
location ~ /\xff/ {
return 403;
}