我正在使用MVC 4并对请求启用验证:
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
为什么验证仅适用于FORM请求而非AJAX请求?如果表单请求包含一个包含HTML文本的字段,例如'<html'>
,则验证将引发错误“从客户端检测到一个潜在危险的Request.Form值...”。但是,对于包含HTML文本的AJAX请求,为什么.NET验证不会引发错误?
最后,我有一个问题:对AJAX请求的验证是没用的吗?
感谢。
答案 0 :(得分:1)
默认情况下,Ajax请求确实不受RequestValidation的影响。虽然您可以覆盖此行为并实现自己的验证:Security Issue in MVC AJAX
这适用于MVC3,但我不知道它是否适用于MVC4或5.但你绝对可以检查出来。