我需要在表格帖子中接受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"];
答案 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>