Соответствие%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;
}
Другие вопросы по тегам