zoukankan      html  css  js  c++  java
  • ASP.NET错误页

    当页面发生错误的时候,ASP.Net会将错误信息展示出来,这样一来不好看,二来会泄露网站的内部
    实现信息,给网站带来安全隐患,因此需要定制错误页,发生错误时显示开发人员定制的页面
    404页面放点广告也是好的嘛
    配置web.config,配置customErrors区域:

    <customErrors mode="On" defaultRedirect="MyErrorPage.aspx"> 
       <error statusCode="403" redirect="NoAccess.htm" /> 
       <error statusCode="404" redirect="FileNotFound.htm" /> 
     </customErrors> 

    mode三个可选值:

    On:总是显示定制错误页面;

    Off:不显示定制错误界面,直接显示调用堆栈等异常信息;
    Remoteonly:对于本机的访问显示调用堆栈等异常信息,对于外部用户的显示定制错误页面

    一般设置为RemoteOnly,这样发生错误的话,管理员可以在服务器的浏览器中看详细错误信息,
    普通用户看不到.学习演示的时候mode设置为On,否则看不到定制页。可以在定义错误页中判断
    Request.UserHostAddress来设置某些ip看到异常信息,可以读取Session如果是管理员则可以看异常信息

    error子元素设定对于不同的状态码使用不同的错误页,很多网站都把404做一个特殊的错误页
    没有单独设置的状态码错误则显示defaultRedirect中指定的页面
    错误页即可以使用htm页面,也可以使用aspx页面
    在aspx页面中可以用HttpContext.Current.Server.GetLastError()拿到异常对象。
    一般不要把异常信息显示给用户,而是使用后面讲的Log4Net等将异常记录到系统日志。
    如果要在错误页面中拿到异常对象,必须在customErrors中设置redirectMode="ResponseRewrite",
    因为默认是客户端重定向,在错误页面中就拿不到异常对象了 

  • 相关阅读:
    C# 获取文件的修改时间、访问时间、创建时间
    Nhibernate Or多条件查询
    C# 将GridView当前页数据导成Execl
    C# 清空文件夹
    TreeView默认收缩
    JS控制控件的隐藏显示
    div置顶,不随滚动条滚动而滚动
    js 父窗体与子窗体的调用
    树形菜单的绑定以及链接
    2010.10.16 OA项目组一周报告 CQ
  • 原文地址:https://www.cnblogs.com/yezuhui/p/6842648.html
Copyright © 2011-2022 走看看