=波波日志 > Asp.Net/C#/WCF > 去掉隐藏asp.net编译出错aspxerrorpath错误参数=

去掉隐藏asp.net编译出错aspxerrorpath错误参数

  如果asp.net配置了web.config的 customErrors如下
+展开
-XML
<customErrors defaultRedirect="404.aspxmode="On">
   <error statusCode="404redirect="404.aspx"/>
   </customErrors>

  那么aspx页面发生错误时,会自动转向404.aspx这个页面,并且附带上aspxerrorpath这个参数,参数值为发生错误的动态页面路径。

  如果某些web系统使用了重写技术隐藏动态页面,aspxerrorpath无疑暴露了动态页的地址,系统安全性因此降低一定的系数。

  那么如何去掉aspxerrorpath这个参数呢?可以通过设置customErrors配置节点的redirectMode为ResponseRewrite,将发生错误的时转向的动态页也进行重新,这样就不会修改浏览器地址栏的url地址,从而删除掉了aspxerrorpath参数。

  RedirectMode 属性值有ResponseRedirect和ResponseRewrite
  1)RedirectMode 属性设置为ResponseRedirect,则将用户重定向到该错误页面,并且原始 URL 更改为该错误页面的 URL,并附带aspxerrorpath参数,参数值为发生错误的动态页的路径。
  2)RedirectMode 属性设置为 ResponseRewrite,则将用户定向到错误页面,并且不更改浏览器中的原始 URL。

  所以要删除asp.net编译出错时附带的aspxerrorpath参数,需要设置RedirectMode为ResponseRewrite
+展开
-XML
   <customErrors defaultRedirect="404.aspxmode="OnredirectMode="ResponseRewrite">
   <error statusCode="404redirect="404.aspx"/>
   </customErrors>


类别:Asp.Net/C#/WCF 作者:波波 日期:2011-08-12 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090