【发布时间】:2013-03-20 14:30:45
【问题描述】:
我知道视图状态在 mvc 中不存在。我正在寻找类似于 asp.net 网络表单中的加密视图状态模式的东西。我想在请求中隐藏一些数据。
我想要实现的是将一些数据传递给响应并对用户隐藏。我不知道用户能够修改数据或查看它。通过将这些数据隐藏在客户端,我想减少服务调用,因为我不能使用会话来保留这些数据。
数据根本不会显示。我只需要稍后将其传递给服务即可。
【问题讨论】:
-
“我不希望用户能够修改或查看数据”。有很多方法可以尝试这样做,但以一种或另一种方式,您的网络应用程序的某些部分将必须查看数据,这也(通常)意味着,如果事情必须发生在客户端,这种或另一种方式,如果用户知道如何使用调试器,他们也可以访问它。当然,这并不意味着您不能采取措施让获取数据变得痛苦/乏味。
-
加密视图状态完全是另一回事。服务器只能保留任何解密密钥服务器端。由于您希望您的应用程序在客户端显示数据,因此您的应用程序必须在客户端解密,这需要为您的客户端应用程序提供解密密钥/方法。
-
请再读一遍。我只想隐藏隐藏的字段。因此用户将无法更改或查看该数据。而且我可以在服务器端重用它而不必担心它被修改了。
-
您希望如何隐藏这些“字段”?如果您想“完全隐藏”某些数据,请不要发送!但是您的原始帖子说您希望“传递一些数据以响应并将其对用户隐藏”。目前尚不清楚您希望这些数据“隐藏”到何种程度。例如,如果您只想要一个隐藏字段,请使用
<input type="hidden" ...>。但是您说您不希望用户更改此数据。究竟如何?可以在标记中发送信息,只是不“可见”吗?您只需要某种防篡改措施吗?然后阅读数字签名。 -
我最初的问题是是否有某种类似于加密视图状态的机制。我们可以在这里聊天chat.stackoverflow.com/rooms/26254/…吗?
标签: asp.net-mvc