我以前见过这个错误,但似乎无法解决它。在这种情况下,我有一个 ASHX 页面吐出一个简单的 HTML 表单,其中包含一个文本框,可以将 XML 发布到其中。当我尝试阅读表单时,收到“一个潜在危险的 Request.Form 值...”。
因为它是一个通用处理程序,所以“ValidateRequest”属性不可用。但是我已经在 web.config 中定义了这个:
<location path="xml/MyGenericHandler.ashx">
<system.web>
<pages validateRequest="false" />
</system.web>
</location>
这个片段早于从 .NET 3.5 到 4.0 的移动,所以我猜这就是破损的起源。
知道如何解决 ASHX 页面的这个错误吗?
最佳答案
让您望而却步的 3.5-4.0 更改是 ASP.NET 4.0 的一些增强的运行时安全功能。快速修复是应用以下属性:
<httpRuntime requestValidationMode="2.0" />
不幸的是,这会打开所有页面直到 2.0 请求验证,所以我只会在攻击面相对较小的情况下这样做。
关于asp.net - "Potentially Dangerous Request.Form"通用处理程序中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187169/