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

AJM*_*AJM 5 asp.net

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

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

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

例如

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

request.Form["Post2Data"];
Run Code Online (Sandbox Code Playgroud)

Gra*_*per 5

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

request.Unvalidated.Form["Post2Data"];
Run Code Online (Sandbox Code Playgroud)

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


ada*_*ost 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>
Run Code Online (Sandbox Code Playgroud)