这是一个比较常见的问题了,如果Web表单中有输入类似于 Html 标签之类的文本,在通过 Request.QueryString 或者 Request.Form 传递这些值的时候,就会触发这样的异常,出于脚本注入等安全性考虑,这也是合情合理的。

  先简单的说说 Request.QueryString 和 Request.Form 吧,

  Request.QueryString(取得地址栏参数值),获取地址栏中的参数,意思就是取得 Url ”?"号后面的参数值.如果参数有多个就用 ”” 符号连接起来。

    取值:Request.QueryString["Url地址栏中的参数名称"]

  Request.Form(取得表单参数值),获取提交的Form中的元素的值。

    取值:Request.Form["表单元素的name属性名称"]

  一般情况下,程序应尽量过滤掉,或者禁止表单上类似文本的输入,如果业务上非得有这样的要求,需要输入标签性的文本,可以考虑在数据向服务器端传递前,将一些敏感字符按照约定规则替换掉,向客户端输出时,再还原出原始文本。比如把 "<" 替换成 "&lt;",向客户端输出时,再把"&lt;" 替换成 "<"。

  以上是个人认为比较正确的做法,当然就解决眼前问题而言,如果是Asp.Net WebForm应用程序,就是在 aspx 文件的 page 指令上添加 ValidateRequest=false  属性值,这是对单一表单的做法,要想作用于更广泛的Web表单,自然是在 webconfig 文件中做相同的设置。

  另外,如果是Asp.Net MVC应用程序,

  Framework4.0:

    则需要在webconfig文件的 <system.web> 配置节中加上 <httpRuntime requestValidationMode="2.0"></httpRuntime> 配置(如果已存在 <httpRuntime />   节点,只需在其中添加属性 requestValidationMode="2.0" 。),之后,再在 Controller(作用于整个控制器) 或者 Action(作用于单个方法) 头上添加 [ValidateInput(false)]   的标识,区别大家都知道的,作用域不同而已,这里说的 Asp.Net MVC 是基于 Framework4.0 的环境的,Framework3.5 下没试过,想来差不多。

  Framework4.5:

    其实 Framework4.5 下也差不多,只不过 VS 自动生成的 webconfig 配置文件中的 <httpRuntime /> 节点中添加了 Framework 的版本号而已,用法一样,只需在其中添加属性 requestValidationMode="2.0"(<httpRuntime targetFramework="4.5"  requestValidationMode="2.0"/>),之后,再在 Controller(作用于整个控制器) 或者 Action(作用于单个方法) 头上添加 [ValidateInput(false)] 的标识即可。

System.Web.HttpRequestValidationException: 从客户端(name="<a href=''>我是晓菜鸟</a>")中检测到有潜在危险的 Request.Form 值的更多相关文章

  1. System.Web.HttpRequestValidationException: 从客户端(dbFlag=&quot;&lt;soap:Envelope xmlns...&quot;)中检测到有潜在危险的 Request.Form 值。

    System.Web.HttpRequestValidationException: 从客户端(dbFlag="<soap:Envelope xmlns...")中检测到有潜 ...

  2. 从客户端(ctl00$ContentPlaceHolder1$result="<?xml version="1.0" ...")中检测到有潜在危险的 Request.Form 值。

    ylbtech-Error-WebForm:从客户端(ctl00$ContentPlaceHolder1$result="<?xml version="1.0" . ...

  3. WebServcies 调用方法异常:System.Web.HttpRequestValidationException: 从客户端中检测到有潜在危险的 Request.Form 值。

    我在做WebServcies时,页面调试,报类了下面这样的错误信息: System.Web.HttpRequestValidationException: 从客户端(checkXML="&l ...

  4. 从客户端(MuliteTextBox2="<a href="http://www....")中检测到有潜在危险的 Request.Form 值

    由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值.立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错.   解决方案一: ...

  5. 从客户端(content1="<img src="/web/news/...")中检测到有潜在危险的 Request.Form 值。

    在html编辑器里面加入图片提交的时候 就报一个 从客户端(content1="<img src="/web/news/...")中检测到有潜在危险的 Reques ...

  6. asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解

    从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值. 说明: 请求验 ...

  7. 从客户端中检测到有潜在危险的 Request.Form 值 方法

    由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值.立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错. 解决方案一:   ...

  8. [转]从客户端中检测到有潜在危险的 Request.Form 值。

    参考资料: ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法关于问题出现的原因说的很清楚 引言 本人在.NET 4.0+VS2010环境下调试一个ASP ...

  9. 从客户端(CourseIssueContent="<P>财务审计师岗位认证招生简章<BR>...")中检测到有潜在危险的 Request.Form 值。

    说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在 Page 指令或 配置节中设置 validateRequest ...

随机推荐

  1. windows MinGW gcc 编译乱码问题

    问题描述 一般很多编辑器默认都是保存成utf-8文件,然而在输出中文的时候出现了乱码?另外试了其他方法,有的乱码,有的不乱? MinGW gcc 编译 utf-8 文件的时候乱码 MinGW gcc ...

  2. PAT甲级 排序题_C++题解

    排序题 PAT (Advanced Level) Practice 排序题 目录 <算法笔记> 6.9.6 sort()用法 <算法笔记> 4.1 排序题步骤 1012 The ...

  3. Django 1.8.2 admin 数据库操作按下保存按钮出错

    Django报错:Runtimeerror: generator raised StopIteration python版本太新不兼容照成,下载python3.6就行了

  4. chrome中显示DNS_PROBE_FINISHED_NO_INTERNET无法上网,但是IE可以上

    以管理员方式运行cmd,执行如下命令 ipconfig /release ipconfig /all ipconfig /flushdns ipconfig /renew netsh int ip s ...

  5. go 构造切片slice

    定义切片 make([]int, 5)  长度和容量均为5 make([]int, 0, 5) 长度为0 容量为0 切片 slice2[3:5] 对slice2进行切片返回 第3 4 两个元素 不包含 ...

  6. Maven配置、使用

    一:什么是Maven Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. Maven提供了开发人员构建一个完整的生命周期框架,开发人员可以自动完成 ...

  7. C# DateTime Subtract

    DateTime start = DateTime.Now.AddDays(-20); DateTime end = DateTime.Now; TimeSpan ts = end.Subtract( ...

  8. python练习:函数4

    ''' 1.定义一个func(name),该函数效果如下. assert func("lilei") = "Lilei" assert func("h ...

  9. GIL锁、进程池与线程池、同步异步

    GIL锁定义 GIL锁:Global Interpreter Lock  全局解释器 本质上是一把互斥锁 官方解释: 在CPython中,这个全局解释器锁,也称为GIL,是一个互斥锁,防止多个线程在同 ...

  10. .tar.gz文件和.tar.xz文件的解压和压缩

    1,.tar文件 tar  -cvf 压缩 tar  -xvf 解压 例如: tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar 2,.xz文件 xz  ...