自定义错误页面
创建自定义 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 错误列表。
一个好的做法是包含一个链接,这样用户就不需要点击浏览器的后退按钮了。