博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2013-07-26 18:21  米粒3  阅读(216)  评论(0编辑  收藏  举报

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

<%@ Page validateRequest="false" %>

2.修改web.config文件:

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

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


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