首页 > 解决方案 > 更改主机时从错误屏幕中删除 ASP.NET 版本信息

问题描述

在笔测试期间,我们收到了一个漏洞。复制步骤是将主机(比如说 google.com)更改为不同的域,然后点击 URL。然后显示以下屏幕,

在此处输入图像描述

这里显示了 dot net 框架的版本信息。我浏览了互联网上的各种 atricals,他们要求在 web.config 中使用

这个标签已经存在于 web.config 中,当我们点击 url 而不更改 Host 时,它显示 error.aspx 页面,但是当我们更改 Host 时,它显示附加页面。在附加图像中提到了版本信息,我想摆脱它.

同样在测试环境中,版本信息未显示资源未找到消息。除了 customErrors 标签之外,还有什么方法可以删除版本信息。请帮帮我。我们正在使用 IIS 10。

标签: c#asp.netiis

解决方案


您已经在 web.config 中使用的标签可能就是<customErrors>标签。这对于可以在 .Net 级别捕获的错误非常有用。

但是对于不进入 .Net 管道的错误,您需要为 404 错误配置 IIS 错误页面。这可以通过<system.webServer><httpErrors>web.config 的部分来完成。例如,要返回您在网站根目录中找到的 my-iis-404-page.htm 的内容,您可以使用以下命令:

<system.webServer>
       <httpErrors errorMode="Custom" existingResponse="Auto">
          <error statusCode="404" subStatusCode="" prefixLanguageFilePath="" path="my-iis-404-page.htm" responseMode="File" />
       </httpErrors>
</system.webServer>

此配置也可以通过 IIS gui 完成。有关 IIS 的 httpErrors 方面的更多信息,请参阅https://docs.microsoft.com/en-us/iis/configuration/system.webserver/httperrors/


推荐阅读