asp.net - 如何永远不显示黄色错误页面?

标签 asp.net web-config

出于安全原因(不显示 .net 框架版本),我想确保永远不会向访问者显示 asp.net 黄页(错误页面)。 最佳做法是什么?
请注意,我使用 Custom 作为 httperrors 的错误模式,但随后:
- 我是否必须声明所有潜在的 http 错误?我可能会忘记状态...
- 更好的方法?

我的 web.config 示例:

<httpErrors errorMode="Custom">
        <remove statusCode="502" subStatusCode="-1" />
        <remove statusCode="501" subStatusCode="-1" />
        <remove statusCode="412" subStatusCode="-1" />
        <remove statusCode="406" subStatusCode="-1" />
        <remove statusCode="405" subStatusCode="-1" />
        <remove statusCode="403" subStatusCode="-1" />
        <remove statusCode="401" subStatusCode="-1" />
        <remove statusCode="400" subStatusCode="-1" />
        <remove statusCode="404" subStatusCode="-1" />
        <remove statusCode="500" subStatusCode="-1" />
        <error statusCode="404" path="/404Page.aspx" responseMode="ExecuteURL" />
        <!-- ETC error for each status .... -->
</httpErrors>

最佳答案

这是我在我的项目 web.config 中的内容。它几乎可以捕获所有内容...使用此方法,您可以拥有任意数量的自定义错误代码。

             <customErrors mode="On" defaultRedirect="pgError.aspx">
                <error statusCode="504" redirect="pgNoConnection.aspx"/>
             </customErrors>

关于asp.net - 如何永远不显示黄色错误页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669274/

相关文章:

c# - 从查询字符串中提取中文文本

c# - 使用 Http Handlers 监听 80 端口

apache - 将 Apache .htaccess 文件转换为 IIS web.config

c# - 我应该在共享主机上加密 web.config 吗?

asp.net - web.config中的处理程序上的path属性的含义

c# - 即使在 Asp.Net 流程中使用 ConfigureAwait(false) 后也会出现死锁

.net - 在全局Application_Error中清除 session

c# - 在项目之间合并 web.configs

asp.net - 在控制台应用程序和 asp.net Web 应用程序之间共享配置

asp.net - System.Web.Webpages.Html 与 System.Web.Mvc 命名空间中的 HtmlHelper 类