如何设置IIS为这些网址中的奇怪字符返回404ÃÂÃÂÃÂÃ?

时间:2014-12-26 17:57:07

标签: asp.net iis

当我检查我的服务器日志文件时,我看到bingbot继续请求带有奇怪字符的网址。但它有时会返回200/500的状态。如何设置IIS以返回404中的奇怪字符,如这些ÃÂÃÂÃÂÃ?Ã?

由于

1 个答案:

答案 0 :(得分:0)

根据您尝试过滤的内容类型(这里不清楚),可能只有一些配置方式可以做到这一点,但我发现这样的东西最简单的方法就是路由使用以下global.asax条目的所有请求到web.config

...
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
...

然后将以下代码添加到您的global.asax's Application_BeginRequest方法中:

/// <summary>
/// The global web application object.
/// </summary>
public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Context.Request.Url.Contains("ÃÂÃÂÃÂÃ"))
        {
            context.Response.StatusCode = 404;
            return;
        }
    }
}

当然,您需要更改'if'语句,以执行过滤掉有问题请求所需的任何逻辑(并确保不过滤掉您真正想要的任何请求)。您还可以检查User-Agent标题,看看它是否是BingBot(来自您的问题并不完全确定是否重要)。