65.9K
CodeProject 正在变化。 阅读更多。
Home

自定义错误页面

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.59/5 (6投票s)

2007年9月30日

CPOL

1分钟阅读

viewsIcon

22409

创建自定义 500 错误页面的分步指南。

引言

“您的 Web 服务器遇到意外情况,导致无法满足客户端的请求”

安全性是 Web 应用程序的重要组成部分,需要传递敏感数据。通常情况下,服务器错误会发生,这表明程序员存在错误。

默认情况下,ASP.NET 会显示详细的错误页面,尤其是在启用跟踪的情况下。这使得您的 Web 应用程序容易受到攻击。为了避免这种情况,一种选择是创建一个自定义错误页面。

使用代码

首先,编辑 web.config 文件并启用自定义错误。

customErrors 有 3 种设置,但我发现“on”模式在部署应用程序时效果最好。将以下代码插入 <System.web> 和 </system.web> 之间,如下所示

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 <system.web>
        <customErrors mode="On">
              <error statusCode="500" redirect="ErrorPage.aspx"/>
        </customErrors>    
  </system.web>
</configuration>

对于自定义页面,创建一个网页,可以是 HTML 或 ASPX。放置您的错误消息。

我总是喜欢使用以下代码

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Error Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
 <h1>The page cannot be displayed</h1>
There is a problem with the page you are trying to reach and it cannot be displayed.
<hr>
<p>Please try again later:</p>
<ul>
<li>An e-mail has been sent to the site owner to report the problem.</li>

</ul>
    </div>
    </form>
</body>
</html>

您可以输入任何内容。

现在继续构建您的网站。 每次遇到服务器错误时,都会显示该页面。

在开发期间,最好将模式设置为“off”。

关注点

在需要安全性的大型应用程序中,显示更少意味着只显示足够的信息。

创建自定义错误页面这种方法可以用于大多数 HTTP 错误。

请查看 http://modemhelp.net/httperrors/httperrors.shtml 以获取 HTTP 错误列表。

一个好的做法是包含一个链接,这样用户就不需要点击浏览器的后退按钮了。


© . All rights reserved.