我的服务器收到一些包含%ff
和的可疑请求%FF
(例如/blog/%ffupdates/
。我每天收到数千个这样的请求,我想开始将它们重定向到 403。我目前有一个端点,我用它来黑洞这类东西,我想重写这些 URL 以指向该端点。
目前,我正在尝试:
rewrite ^/.*?%ff.*?$ https://domain.com/forbidden permanent;
我完全理解这可能是一场过于贪婪的比赛;然而,我只是想最初让某件事顺利进行。
现在,当我尝试这个并查看调试日志时,它似乎%ff
正在转换为�
(是的,这应该是问号菱形)。
例如日志中有这样的内容:
*4 "^/.*?%ff.*?$" does not match "/blog/�updates/"
看起来是因为%ff
被转换了,所以我实际上无法匹配字符串。
我正在运行带有 SSL 和 SPDY 的 Nginx 1.7.1。
有什么想法吗?
答案1
你应该能够通过正则表达式匹配它。例如:
location ~ /\xff/ {
return 403;
}