6

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

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

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

例如

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

request.Form["Post2Data"];
4

2 回答 2

5

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

request.Unvalidated.Form["Post2Data"];

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

于 2017-02-20T12:48:50.597 回答
4

您可以在 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>
于 2012-08-10T09:55:22.303 回答