【问题标题】:A potentially dangerous Request.Form value was detected ASHX httpHandler检测到潜在危险的 Request.Form 值 ASHX httpHandler
【发布时间】:2012-08-10 09:48:56
【问题描述】:

我需要接受表单中的 xml 数据发布到我的 ashx http 处理程序。

但是,当我使用 request.Form 从请求中提取 xml 数据时,出现“检测到潜在危险的 Request.Form 值..”错误。

我无法将验证请求设置为 false,因为它不是 aspx 页面。我能做什么?

例如

<textarea rows="12"  cols="50"  name="Post2Data">
 <root>
    <XML>....
 </root>
</textarea>

request.Form["Post2Data"];

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以使用请求的 Unvalidated 属性,例如

    request.Unvalidated.Form["Post2Data"];
    

    您必须自己检查表单数据的有效性。在生产环境中设置validateRequest = false 是不可取的,因为它会使您容易受到跨站点脚本攻击。

    【讨论】:

      【解决方案2】:

      您可以在 web.config 中添加以下条目。

      <location path="~/YourHandler.ashx">
          <system.web>
            <pages validateRequest="false" />
          </system.web>
      </location>
      <system.web>
         <compilation debug="true" targetFramework="4.0"/>
         <httpRuntime requestValidationMode="2.0" />
      </system.web>
      

      【讨论】:

      猜你喜欢
      • 2011-03-30
      • 2011-03-07
      • 2016-03-21
      • 2011-11-09
      • 2012-05-29
      相关资源
      最近更新 更多