在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
ASP.NET错误处理的方式(整理&总结) 原则(MSDN):在您的应用程序显示错误信息时,它不应该泄露有助于恶意用户攻击您系统的信息。例如,如果您的应用程序试图登录数据库时没有成功,则显示的错误信息不应该包括它正在使用的用户名。 有许多方法可以控制错误信息: 将应用程序配置为不向远程(应用程序)用户显示详细错误信息。您也可以选择将错误重定向到应用程序页。
}
注:通过使用 Server 对象访问来自服务器的错误信息。特别地,该示例从 Request 对象获取请求的 URL,以及 Server 对象的最新错误(使用 GetLastError 方法),并将这两者都转换为客户端可以显示的字符串。将 message 变量写入客户端后,通过使用 ClearError 方法删除该错误 <二>应用程序级的错误事件中,错误处理方式如下:global.asax文件中的application_error中添加处理 逻辑,可添加其它操作,如写入windows事件日志,发邮件给管理员,将错误信息写入数据库。具体如下:
1protected void Application_Error(Object sender, EventArgs e)
2 } <三>web.config中,自定义错误信息。将应用程序配置为不向远程用户显示错误
<customErrors mode="RemoteOnly" defaultRedirect="AppErrors.aspx">
<error statusCode="404" redirect="NoSuchPage.aspx"/> <error statusCode="403" redirect="NoAccessAllowed.aspx"/> </customErrors> 注:将 mode 属性设置为 RemoteOnly(区分大小写)。这就将应用程序配置为仅向本地用户(您和开发人员)显示详细的错误。 (可选)包括指向应用程序错误页的 defaultRedirect 属性。 (可选)包括将错误重定向到特定页的 <error> 元素。例如,您可以将标准 404 错误(未找到页)重定向到您自己的应用程序页。 <四> 包括错误处理 (MSDN) 1.在可能产生错误的任何语句前后使用 try-catch-finally 块。 2.(可选)使用 Context 对象的 UserHostAddress 属性对本地用户进行测试并相应地修改错误处理。值 127.0.0.1 等效于“localhost”并指示浏览器与 Web 服务器位于同一台计算机上。 下面显示的是一个示例错误处理块。如果发生错误,则用有关消息的详细信息加载 Session 状态变量,然后应用程序显示可以读取 Session 变量并显示错误的页。(有意写入此错误以便不向用户提供任何可利用的详细信息。)如果用户是本地用户,则提供不同的错误详细信息。在 finally 块中,释放开放式资源。
1try
2} 您也可以创建一个这样的错误处理程序,它在页面级别上或为整个应用程序捕捉所有未处理的异常。 |
请发表评论