我有一個類似日曆的ASP.NET MVC應用程序。根據NerdDinner示例,我正在使用UpdateMethod()更新我的編輯頁面的結果()ASP.NET MVC UpdateModel容易受到黑客攻擊?
在我的應用程序中,某些事件可完全自定義,某些事件只能部分自定義。儘管編輯部分可自定義事件的編輯表單只有這些可用字段,但顯然有人可以使用缺少的數據創建自己的表單併發布到我的網站。如果他們這樣做,那麼怎樣才能防止某個人改變任何/所有的領域?更糟的是,如果他們試圖改變id(主鍵)呢?
感覺像UpdateModel()容易受到非常基本的黑客攻擊。我的恐懼是否合法,或者是否有我失蹤的東西?
// POST: /MyEvents/Edit/2
[AcceptVerbs(HttpVerbs.Post), Authorize]
public ActionResult Edit(int id, FormCollection formValues)
{
MyEvent myevent = eventRepository.GetMyEvent(id);
try
{
UpdateModel(myevent);
eventRepository.Save();
return RedirectToAction("Details", new { id = myevent.MyEventId });
}
catch
{
ModelState.AddRuleViolations(myevent.GetRuleViolations());
return View(new MyEventFormViewModel(myevent));
}
}
easy/safe mode =創建form(in)模型,然後通過Automapper將它們映射到您的實體。 – mxmissile 2009-10-01 20:16:19