【发布时间】:2012-05-16 20:22:30
【问题描述】:
为了构建一个包含大量信息的实体,我需要执行一系列表单提交。每次我从控制器返回视图时,我都需要传递一些关于尚未建立的实体的 id。现在我将这些信息注入隐藏字段,然后在回发到服务器时继续构建实体。 这种情况持续了几次。 我对这种传递敏感信息的方式非常不满意,想知道是否还有其他更合适的方式。我使用授权和身份验证,但仍然担心在某些情况下,一个用户可能会在将这些 ID 发送回服务器之前破解这些 ID,然后修改错误的实体。
此外,来回传递相同的数据似乎是一项艰苦的工作。我取消了使用会话的资格,因为它揭示了另一种数据中断威胁。 (如果一次使用多个浏览器)。
我应该如何执行上述操作?
【问题讨论】:
-
查看@Jason 关于签名(也就是创建哈希)的回答。隐藏字段不会保护您,“只读”输入字段也不会。加密/解密也不是很合适——客户端(浏览器)总是以明文形式发送原始数据。如果您正在考虑客户端的加密库 - 当然,但同样,那是客户端(无论如何都可以看到/检查)。创建一个哈希服务器端并比较哈希服务器端。
-
谢谢!不幸的是,我不能投票给你的评论......
标签: asp.net asp.net-mvc sensitive-data