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

  当asp.net提交<>这些字符到aspx页面时,如果未设置validaterequest="false",就会出现错误:从客户端(<?xml version="...='UTF-8'?><SOAP-ENV:Envelope S...")中检测到有潜在危险的Request.Form 值。

解决方案一:
在.aspx文件头中加入这句:

-XML
<%@ Page validateRequest="false" %>

解决方案二:
修改web.config文件:

-XML
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>


  还有一点,要设置httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0",要不设置了validaterequest="false"也会提示检测到有潜在危险的Request.Form 值的错误。

  这个还是通过asp.net编译后的错误发现的,尽然还要设置requestValidationMode="2.0",奇怪了,以前都是设置validaterequest就行了,怎么多了一个requestValidationMode="2.0"。。。

说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0"。示例: <httpRuntime requestValidationMode="2.0" />。设置此值后,可通过在 Page 指令或 <pages> 配置节中设置 validateRequest="false" 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkId=153133。

 

如果还不行,在httphttpRuntime节点增加requestPathInvalidCharacters="" 属性,requestValidationMode对Form有效,但是对RequestQueryString视乎不起作用,新增requestPathInvalidCharacters后就没有问题了。

加支付宝好友偷能量挖...


原创文章,转载请注明出处:从客户端中检测到有潜在危险的 Request.Form 值

评论(0)Web开发网
阅读(264)喜欢(0)Asp.Net/C#