У меня есть приложение ASP.NET MVC, подобное календарю. В соответствии с примером NerdDinner, я обновляю результаты моей страницы редактирования с помощью UpdateMethod()ASP.NET MVC UpdateModel уязвим для взлома?
В моем приложении определенные события полностью настраиваются, а некоторые из них частично настраиваются. Несмотря на то, что в форме редактирования для редактирования частично настраиваемых событий доступны только эти поля, очевидно, кто-то может создать свою собственную форму с отсутствующими данными и опубликовать на моем сайте. Если они это сделают, что удержать кого-то от изменения каких-либо полей? Хуже того, что, если они попытались изменить идентификатор (первичный ключ)?
Похоже, 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 = создавать формы (в), а затем сопоставлять их с вашими объектами через Automapper. – mxmissile