我以前见过这个错误,但似乎无法绕过它.在这种情况下,我有一个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请求验证,所以如果你有一个相对较小的攻击面,我只会这样做.