Kim*_*mpo 5 security ajax post asp.net-ajax asp.net-mvc-3
我正在为几个用户开发Asp.Net MVC 3/knockout.js网站,他们可以保存有关他们网站的信息.这是该模型的简单版本
class{
string Id
string Name
string Url
string Description
}
Run Code Online (Sandbox Code Playgroud)
我想构建一个响应迅速的UI,以便所有加载保存等都将通过Ajax完成.
所以场景是当用户将som网站添加到他的列表并点击保存时,json字符串被发布到控制器中的Action方法.
一切正常.
问题是:
如何确保用户没有篡改id并实际保存有关其他用户网站的信息?
我当然是隐藏的,但任何具有一些网络知识的邪恶的人都可以轻易地改变身份.
您应该使用身份验证。使用 Authorize 属性修饰将执行更新的操作。这将确保发送 AJAX 请求的用户经过身份验证,并且他无法更改其用户名。然后你将检查你的数据库,他试图更新的站点的ID是否属于他。当然,您将拥有一个包含用户和站点之间的映射的表。
如果用户篡改站点 ID 并输入不属于他的站点的某些值,则当您执行查询以验证给定站点 ID 是否属于给定用户名时,控制器操作中的您将检测到它。他无法篡改他的用户名,因为它存储在加密的身份验证 cookie 中,当然,除非他使用不同的用户名登录,在这种情况下他已经知道密码。
| 归档时间: |
|
| 查看次数: |
500 次 |
| 最近记录: |