默认情况下,ASP.net会进行请求验证,以确保用户提交的值没有潜在危险。有关如何禁用它的信息,请参阅this popular queston。
我已成功禁用它,以便在检测到潜在危险字符时控制器不会抛出异常。但是,如果我访问Request.Forms属性,它会再次尝试进行请求验证并抛出异常。具体来说,我正在做的是:request.Form.ToString()
。
控制器已经使用[ValidateInput(false)]
进行了装饰,并且模型装饰有[AllowHtml()]
,在访问Request.Forms
属性时,这些都没有被尊重。如果没有抛出异常,我怎么能这样做?
答案 0 :(得分:1)
.Net 4.0添加了您需要通过将requestValidationMode="2.0"
添加到web.config的httpRuntime
元素来禁用的其他请求验证。
有关详细信息,请参阅ASP.NET breaking changes。