2012-11-12 39 views
0

所以它是可能的形式只是顯示的而不是拋出異常從客戶端MVC4發佈HTML和驗證錯誤

檢測

有潛在危險的Request.Form值驗證錯誤(如HTML是不允許的)

當我在輸入中包含HTML。我不想接受HTML,但我也不喜歡得到例外。

回答

-1

您可以處理錯誤應用程序的行爲在你的web.config文件:

</system.web> 
… 
    <customErrors defaultRedirect="/ErrorPage" mode="RemoteOnly"></customErrors> 
… 
</system.web> 

此外,指定是否顯示詳細的錯誤信息旁邊與否,您還可以將用戶重定向到一個特定的網頁向他展示自定義錯誤您設計的頁面。

有關該檢查msdn explanation for customErrors element

0

在ASP .NET 4.0的更多信息,請求驗證默認情況下爲所有請求啓用。

http://www.asp.net/whitepapers/aspnet4/breaking-changes

你仍然可以強迫你的應用程序忽略此檢查。

見鏈接瞭解詳細信息: -

ValidateRequest="false" doesn't work in Asp.Net 4

不過,我不主張這種策略。嘗試使用驗證文本,使用Javascript 之前發送到服務器以確保它不包含任何會影響ValidateRequest行爲的字符。

這個問題涵蓋了所有這些字符: -

What characters or character combinations are invalid when ValidateRequest is set to true?

如果用戶沒有使用Javascript功能,你還是會打的錯誤。在這種(罕見的)情況下,你可以回退customErrors,這樣你至少可以顯示比黃色錯誤頁面更漂亮的東西。

+0

我會建議,而不是修改用戶輸入的數據,只要顯示它就編碼它會好得多。 – ajbeaven