gpt4 book ai didi

ajax - 通过 Ajax 帖子处理安全保存的最佳实践 asp.net MVC 3

转载 作者:行者123 更新时间:2023-12-04 21:23:00 25 4
gpt4 key购买 nike

我正在为多个用户开发一个 Asp.Net MVC 3/knockout.js 站点,他们可以在其中保存有关其网站的信息
这是模型的简单版本

class{
string Id
string Name
string Url
string Description
}

我想构建一个响应迅速的 UI,以便所有加载保存等都将通过 Ajax 完成。

所以场景是当用户将一些网站添加到他的列表并点击保存一个 json 字符串被发布到 Controller 中的 Actionmethod 时。

一切正常。

问题是:

我如何确保用户没有篡改 id 并且实际上正在保存有关其他用户网站的信息?

id当然是隐藏的,但是任何有一些网络知识的恶人都可以很容易地改变id。

最佳答案

您应该使用身份验证。使用 Authorize 属性装饰将执行更新的操作。这将确保发送 AJAX 请求的用户通过身份验证,并且他不能更改他的用户名。然后你将检查你的数据库,如果他试图更新的站点的 id 属于他。您当然会有一个包含用户和站点之间映射的表。

如果用户篡改站点 id 并输入不属于他的站点的某些值,则在执行查询以验证给定站点 ID 是否属于给定用户名时,您在 Controller 操作中将检测到它。他不能篡改他的用户名,因为它存储在加密的身份验证 cookie 中,除非他使用不同的用户名登录,在这种情况下他已经知道密码。

关于ajax - 通过 Ajax 帖子处理安全保存的最佳实践 asp.net MVC 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com