2012-05-08 145 views
2

为了构建一个具有相当多信息的实体,我需要执行一系列表单提交。每次我从控制器返回一个视图时,我都需要传递一些关于尚未建立的实体的ID。现在,我将这些信息注入隐藏字段,并在发回服务器时继续构建实体。 这种情况会持续几次。 我对这种传递敏感信息的方式并不满意,并且很想知道是否有其他更合适的方法来做到这一点。我使用授权和身份验证,但仍然担心在某些情况下,一个用户可能会窃取这些ID,然后再将其发送回服务器,然后修改错误的实体。如何将敏感数据从视图传递到控制器

此外,似乎有点辛苦来回传递相同的数据。我取消了会话的使用资格,因为它揭示了一种不同类型的数据中断威胁。 (如果一次使用多个浏览器)。

我该如何执行上述操作?

+1

见@杰森的有关注册(又名创建哈希)回答的例子。隐藏的字段不会保护您,也不会“只读”输入字段。加密/解密也不太合适 - 客户端(浏览器)将始终以明文形式发送原始数据。如果你在考虑客户端的加密库 - 当然,但是,这是客户端(可以看到/检查,不管是什么)。创建一个哈希服务器端并比较哈希服务器端。 – EdSF

+0

谢谢!不幸的是我不能投票您的评论... –

回答

0
+0

谢谢,我当然要对此进行调查... –

+0

我看不到如何防止用户恶意成功通过更改表单域之前修改DB实体帖子。 –

+1

使这些字段只读,您可以加密/解密关键数据,并将解密的数据与相应的数据库实体进行比较,以防止用户更新它。 –

0

利用跨站点请求与令牌,以确定每次伪造你寄的它包含在服务器端生成的相同标记并从您的html返回

+0

谢谢,我会检查这个选项.. –

+0

这似乎是一个不同的问题的答案。它有意避免“跨网站请求”。我对吗? –

相关问题