创新易联欢迎您!13年专注深圳网站建设

表单提交检测到有潜在危险request.form值,该如何应对?

日期:2019-05-22 | 来源:易联网站建设公司 | 阅读:

网页表单制作完成提交表单时:从客户端中检测到有潜在危险的 request.form值,当页面编辑或运行提交时,出现“从客户端中检测到有潜在危险的request.form值”问题,该怎么办呢?今天易联小编就和大家讲解下应对方法:


问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的Error。


1、当前提交页面,添加代码

打开当前.aspx页面,页头加上代码:validateRequest=”false”,如:


《%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %》2、全局修改web.config配置文件(此举不建议、不安全)

打开web.config文件,在《system.web》《/system.web》中间,加上如下代码:


《pages validateRequest="false" /》如果以上两种方法都无法解决,请接着往下看,


前面两种方法失效的原因:由于你当前的.net ifreamwork框架环境是4.0。因为4.0的验证在HTTP的BeginRequest前启用,因此,请求的验证适用于所有ASP.NET资源,aspx页面,ashx页面,Web服务和一些HTTP处理程序等.


3、同样,打开web.config配置文件,在《system.web》《/system.web》中间,加上代码:


《httpRuntime requestValidationMode="2.0" /》4、如果你的网站程序本身是net 2.0环境开发的,但放到了VS2010软件里运行,也会出现这种情况,你可以把运行解决方案切换成net2.0即可,更换方法详见页面第3步:点击进入


5、另一种处理方法:原因是所传值含有特殊危险符号,那么可以在传前,利用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(str);


—— 微信公众号 ——