客户端检测到有潜在危险错误
来源:互联网 发布:网络配置实例 编辑:程序博客网 时间:2024/04/28 15:50
近段时间,很多的同学在做项目过程中遇到这样的问题:在输入文本框内录入javascript脚本时,结果报错。错误提示如下:
个人总结了一下,有以下几种解决方案:
1.在web.config文档<system.web>后面添加下面这条语句即可。
<pages validaterequest="false"/>
2.在*.aspx文档头的page中加入validaterequest="false"。
其实这样做是不正确的,会给程序安全带来风险。
ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。这是ASP.Net提供的一个很重要的安全特性。因为很多程序员对安全没有概念,甚至都不知道XSS这种攻击的存在,知道主动去防护的就更少了。ASP.Net在这一点上做到默认安全。这样让对安全不是很了解的程序员依旧可以写出有一定安全防护能力的网站。
正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面。
a.在页面添加Page_Error()函数
protected void Page_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
{
HttpContext.Current.Response.Write("请输入合法的字符串【<a href=/"javascript:history.back(0);/">返回</a>】");
HttpContext.Current.Server.ClearError();
}
}
b.修改Global.asax文件,在Application_Error()中添加以下代码
Exception ex = Server.GetLastError();
if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
{
HttpContext.Current.Response.Write("请输入合法的字符串【<a href=/"javascript:history.back(0);/">返回</a>】");
HttpContext.Current.Server.ClearError();
}
这段代码很简单,所以我希望所有不是真的要允许用户输入之类字符的同学,千万不要随意的禁止这个安全特性,如果只是需要异常处理,那么请用类似于上面的代码来处理即可。
而对于那些通过明确禁止了这个特性的同学,自己一定要明白自己在做什么,而且一定要自己手动的检查必须过滤的字符串,否则你的站点很容易引发跨站脚本攻击。
- 客户端检测到有潜在危险错误
- 从客户端中检测到有潜在危险的 Request.Form 值错误解决方法
- 从客户端中检测到有潜在危险的 Request.Form 值错误解
- 请教:“请求验证过程检测到有潜在危险的客户端输入值”这样的错误
- 从客户端中检测到有潜在危险的 Request.Form 值错误解
- 遇到“从客户端检测到有潜在危险的Request.Form 值”错误提示
- 从客户端中检测到有潜在危险的 Request.Form 值错误解决方法
- 客户端检测到有潜在危险的Request.Form 值
- 从客户端中检测到有潜在危险
- 从客户端检测到有潜在危险(三种解决办法)
- 从客户端 中检测到有潜在危险
- 出现从客户端中检测到有潜在危险的 Request.Form 值的错误时的解决办法
- 解决asp.net中“从客户端(......)中检测到有潜在危险的 Request.Form 值。”错误
- 关于MVC3,从客户端(userName="<hr />")中检测到有潜在危险的 Request.Form 值的错误
- 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
- 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
- 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
- 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
- WebView初探
- java:得到本机或网站的IP和计算机名称
- 2010年05月《安全天下事之缅怀中的反思》
- AnimateWindow 来美化你的对话框(淡入淡出,自动上升下降)
- 详解CSS外部引用之link与@import的区别
- 客户端检测到有潜在危险错误
- 生活必备:即时客信用卡优惠助手正式上线
- java:得到本机IP的MAC地址
- Android Sensor 适配层的书写--主要是对函数的介绍
- 委托方法好像不可以调用其它dll中的方法
- Java:读取本连接中所有数据表的名称
- 开始
- ssh整合方法 含源码
- 创建MySQL用户 赋予某指定库表的权限