通过Ajax发布安全保存的最佳实践发布了asp.net MVC 3
发布时间:2020-12-16 02:56:34 所属栏目:百科 来源:网络整理
导读:我正在为几个用户开发Asp.Net MVC 3 / knockout.js网站,他们可以保存有关其网站的信息 这是该模型的简单版本 class{string Idstring Namestring Urlstring Description} 我想构建一个响应迅速的UI,以便所有加载保存等都将通过Ajax完成. 所以场景是当用户将so
我正在为几个用户开发Asp.Net MVC 3 / knockout.js网站,他们可以保存有关其网站的信息
这是该模型的简单版本 class{ string Id string Name string Url string Description } 我想构建一个响应迅速的UI,以便所有加载保存等都将通过Ajax完成. 所以场景是当用户将som网站添加到他的列表并点击保存时,json字符串被发布到控制器中的Action方法. 一切正常. 问题是: 如何确保用户没有篡改id并实际保存有关其他用户网站的信息? 我当然是隐藏的,但任何具有一些网络知识的邪恶的人都可以轻易地改变身份. 解决方法
您应该使用身份验证.使用Authorize属性修饰将执行更新的操作.这将确保发送AJAX请求的用户经过身份验证,并且无法更改其用户名.然后,您将检查您的数据库中是否他想要更新的站点的ID属于他.您当然会有一个包含用户和站点之间映射的表.
如果用户篡改了站点ID并将某个不属于他的站点的值放入,则当您执行查询以验证给定站点ID是否属于给定用户名时,您在控制器操作中将检测到它.他无法篡改用户名,因为它存储在加密的身份验证cookie中,除非他用不同的用户名登录,在这种情况下他已经知道密码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |