如果允许输入这种特殊字符的话,你可以在页面中的page标签中加入ValidateRequest="false",或者是在web.config中添加<pages validateRequest="false">,这样就可以允许整个站点都不进行XSS的检查。
如果引发HttpRequestValidationExceptioin异常以后,页面中会默认提示一个黄页错误的,如果你想禁止出现这种不友好的黄页错误的话,请不要禁用validateRequest=false,你可以在代码中控制的。
正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面。
在当前页面中加入异常处理的方法。
1
protected void Page_Error(object sender, EventArgs e)
2
2
也可以在基类中添加异常处理的方法:
1
protected override void OnError(EventArgs e)
2
}
2
如果不用ClearError()这个异常会继续传到Application_Error()。
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。