c# - 更改主机时从错误屏幕中删除 ASP.NET 版本信息
问题描述
在笔测试期间,我们收到了一个漏洞。复制步骤是将主机(比如说 google.com)更改为不同的域,然后点击 URL。然后显示以下屏幕,
这里显示了 dot net 框架的版本信息。我浏览了互联网上的各种 atricals,他们要求在 web.config 中使用
这个标签已经存在于 web.config 中,当我们点击 url 而不更改 Host 时,它显示 error.aspx 页面,但是当我们更改 Host 时,它显示附加页面。在附加图像中提到了版本信息,我想摆脱它.
同样在测试环境中,版本信息未显示资源未找到消息。除了 customErrors 标签之外,还有什么方法可以删除版本信息。请帮帮我。我们正在使用 IIS 10。
解决方案
您已经在 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/
推荐阅读
- java - 将 JavaFX 控制器链接在一起的良好做法是什么?
- jquery - Jquery:无法在 jquery $(data) 中找到 div 元素
- c# - .NET Core 库中的依赖注入调用
- java - Apache PDFBox2:无法提取条形码
- python - 更改字典格式
- elasticsearch - 尝试在 elasticsearch 中重命名嵌套对象名称时出错
- java - 如何使用 java API 监控登录时间和注销时间并存储到 mysql 数据库中
- html - iFrame 中的 FTP 文件
- react-native - 如何在不触及主题的情况下在 React Hook Form Controller 中使用它时更改 UI Kitten React Native Datepicker 背景和边框颜色?
- clojure - 使用列表中的参数调用函数