首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET MVC UpdateModel易受黑客攻击?

ASP.NET MVC UpdateModel易受黑客攻击?
EN

Stack Overflow用户
提问于 2009-10-01 19:53:35
回答 5查看 2K关注 0票数 5

我有一个类似日历的ASP.NET MVC应用程序。根据NerdDinner示例,我使用UpdateMethod()更新编辑页面的结果。

在我的应用程序中,某些事件是完全可定制的,而某些事件只能部分定制。尽管用于编辑部分可定制事件的编辑表单只有这些字段可用,但显然有人可以使用缺失的数据创建自己的表单并发布到我的网站。如果他们这样做了,是什么阻止人们更改任何/所有字段?更糟糕的是,如果他们试图更改id (主键)怎么办?

感觉UpdateModel()很容易受到非常基本的黑客攻击。我的恐惧是合理的,还是我遗漏了什么?

代码语言:javascript
复制
// 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));
    }
}
EN

Stack Overflow用户

发布于 2009-10-01 19:59:51

有一些UpdateModel重载需要更新命名属性的字符串数组。这些重载将仅更新命名属性。

可能还有其他更简单/更具声明性的方法来实现这一点,我不是MVC数据绑定方面的专家。

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1506087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档