ASHX httpHandler检测到一个潜在危险的Request.Form值

时间:2012-08-10 09:48:56

标签: asp.net

我需要在表格帖子中接受xml数据到我的ashx http处理程序。

但是我收到错误"检测到一个潜在危险的Request.Form值。"使用request.Form从请求中提取xml数据时出错。

我无法将验证请求设置为false,因为它不是aspx页面。我该怎么办?

e.g。

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

request.Form["Post2Data"];

2 个答案:

答案 0 :(得分:5)

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

request.Unvalidated.Form["Post2Data"];

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

答案 1 :(得分:3)

您可以在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>