Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 因阻止动词命中导致HTTP 500出现时披露的服务器版本_C#_Security_Iis_Web Config - Fatal编程技术网

C# 因阻止动词命中导致HTTP 500出现时披露的服务器版本

C# 因阻止动词命中导致HTTP 500出现时披露的服务器版本,c#,security,iis,web-config,C#,Security,Iis,Web Config,我已经设置了自定义错误页面和动词阻塞,只允许GET和POST。 但当我尝试其他方法(删除、选项、跟踪)时,它并没有重定向到自定义错误页面,而且它也公开了服务器版本。HTTP 200中未披露服务器版本 错误页面处理-: <httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="Redirect" > <remove statusCode="500" subStatusCode

我已经设置了自定义错误页面和动词阻塞,只允许GET和POST。 但当我尝试其他方法(删除、选项、跟踪)时,它并没有重定向到自定义错误页面,而且它也公开了服务器版本。HTTP 200中未披露服务器版本

错误页面处理-:

<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="Redirect" >
      <remove statusCode="500" subStatusCode="-1" />
      <error statusCode="404" path="SSPERR.aspx" responseMode="Redirect"/>
      <error statusCode="500"  path="SSPERR.aspx" responseMode="Redirect"/>
</httpErrors>
protected void Application_PreSendRequestHeaders(object sender, EventArgs 
{
    HttpContext.Current.Response.Headers.Remove("Server");
    HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
    HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
}
好的。我发现了一个问题:

忘记了删除错误404,但再次添加并复制了。由于这个原因,应用程序在异常中抛出异常,并且无法正确删除头。 现在你可以看到一切了。我还提供了一个简单的html文件用于错误页面。所以error.html会更好



这也添加到web.config中。仍然显示服务器版本。我修复了它。请现在再次检查。服务器版本现在不会公开。但现在它抛出404错误,但没有重定向到错误页面。它在设置responseMode=“Redirect”后重定向
protected void Application_PreSendRequestHeaders(object sender, EventArgs 
{
    HttpContext.Current.Response.Headers.Remove("Server");
    HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
    HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
}