首页 > Web开发 > 详细

利用asp.net的validateRequest特性

时间:2014-04-20 02:42:40      阅读:461      评论:0      收藏:0      [点我收藏+]

ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用<xxxx>之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面:

bubuko.com,布布扣

 

希望很好的处理这个错误信息,而不使用默认ASP.Net异常报错信息,我们可以这样做。

bubuko.com,布布扣
protected void Page_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
    if (ex is HttpRequestValidationException)
    {
        Response.Write("请您输入合法字符串。");
        Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
    }
}
bubuko.com,布布扣

这样这个程序就可以截获 HttpRequestValidationException 异常,而且可以按照程序员的意愿返回一个合理的报错信息。

这段代码很简单,所以我希望所有不是真的要允许用户输入<xxx>之类字符的朋友,千万不要随意的禁止这个安全特性,如果只是需要异常处理,那么请用类似于上面的代码来处理即可。

利用asp.net的validateRequest特性,布布扣,bubuko.com

利用asp.net的validateRequest特性

原文:http://www.cnblogs.com/karlzhao/p/3675797.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!