【发布时间】:2013-02-05 15:32:29
【问题描述】:
我最近的一个 MVC3 项目被我的讲师破解了,他不会告诉我他是如何做到的,直到他在几周内向全班同学做演示。但是我不能等这么久。
我的问题是,有没有办法拦截从视图发送到控制器 POST 方法的数据?如果是这样,这种方法是什么,我该如何阻止它?
例如:
将用户对象发布到数据库的注册页面。 用户对象有一个布尔 Admin,它自动设置为 false。 黑客拦截 Post 并将 Users Admin 属性的值更改为 true。
任何帮助都会很棒。
【问题讨论】:
-
你能发布你的控制器动作和用户模型吗?
-
您说他“入侵”了您的网站。你能更具体地说明实际做了什么吗?我猜他要么使用暴力破解,要么使用跨站点脚本。
-
post 方法可以接受的任何内容都可以发送给它。因此,任何人都可以在管理员设置为 true 的情况下发布新用户。您需要在您的 post 方法中手动将 admin 设置为 false,除非您希望允许它为 true。
标签: c# asp.net-mvc asp.net-mvc-3 security