我想阻止/拒绝所有包含一个或多个非 ASCII 字符的请求。
例如,我收到如下请求:
/\ufffd?s=p&z=\ufffd&g=\ufffd&o=2
其中 \ufffd 是“替换字符“。
这导致我的网络应用程序通过电子邮件向我发送错误,因为我的数据库还不是 UTF-8(长话短说)。
我知道我应该解决这个问题,而不是隐藏它,但在此之前,阻止所有奇怪的请求进入应用程序将防止我的邮箱被错误填满。
我还知道该特定网站的所有 URL 均不包含非 ASCII 字符,因此这个快速修复不会破坏任何内容。
谢谢!
答案1
您可以在 location 指令中使用替换字符本身来匹配这样的 url:
location /� {
return 400; # Or whatever you would like to do.
}