2013-11-27 58 views
0

我使用MVC 4並啓用請求驗證:爲什麼RequestValidation不能在AJAX請求上驗證?

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <httpRuntime requestValidationMode="2.0" /> 
</system.web> 

爲什麼驗證僅適用於表單請求沒有AJAX請求?如果表單請求包含包含HTML文本的字段,例如:'<html'>則驗證會引發錯誤「從客戶端檢測到潛在危險的Request.Form值...」。但是,對於包含HTML文本的AJAX請求,爲什麼.NET驗證不會引發錯誤?

最後,我有一個問題:對AJAX請求的驗證是沒用的?

謝謝。

回答

1

默認情況下,Ajax請求確實不受RequestValidation影響。雖然你可以覆蓋這種行爲並實現你自己的驗證:Security Issue in MVC AJAX

這適用於MVC3,但我不知道它是否可以在MVC4或5上工作。但你絕對可以檢查出來。