去掉隐藏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编译出错aspxerrorpath错误参数

评论(0)Web开发网
阅读(804)喜欢(0)Asp.Net/C#/WCF