2010-01-24 42 views
1

我有ASP.NET MVC 1.0和Entity Framework v1應用程序。ASP.NET MVC中的惡意輸入

默認情況下,用戶提交的內容會針對惡意輸入進行驗證。 (見here)。 HTML編碼用戶提交的數據,防止JavaScript注入攻擊。 實體框架內部使用參數化的SQL,它將停止SQL注入。

這是否足夠?還能做些什麼來檢測和阻止惡意(javascript/sql注入)輸入?

請指教。

謝謝。

回答

2

您應該使用的ViewModels來呈現並從視圖中檢索數據,然後驗證它們,這將是輸入驗證

然後將數據從ViewModels傳遞到您的DomainModels(EF)然後您應驗證您的域模型以防止破損的域在規則中。

2

繼@ali62發佈的內容;

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult MyAction([Bind(Exclude="id")] User user) 
{ 
    return View(); 
} 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult MyAction([Bind(Include="name, email")] User user) 
{ 
    return View(); 
}