【问题标题】:asp.net mvc 3 serverside session variableasp.net mvc 3 服务器端会话变量
【发布时间】:2011-11-17 17:29:01
【问题描述】:

我需要在 asp.net MVC 3 中的服务器端会话变量。我知道这不是解决问题的最佳方法,但我们需要它的安全性。我需要确保有一个未​​被篡改的值。有什么办法可以设置一个不能在客户端删除或更改的服务器端会话变量?

【问题讨论】:

  • 如果您需要每个用户的东西,只需使用 Session["key"] = value

标签: asp.net asp.net-mvc-3 session


【解决方案1】:

你可以使用HttpContext.Current.Session

【讨论】:

  • 这会创建一个 sessionId cookie。无论如何,没有会话cookie可以这样做吗?这是因为我想在页面的第一次进入时设置一些东西。这是在用户授权外部(如在非 .net 中)安全提供程序之后。之后,我创建了一个 cookie,我需要确保 cookie 没有经过调和。因此,我想制作一个哈希值并存储该服务器端并根据我拥有的内容验证 cookie。 (哈希有2个组件,都是cookies,1个由安全提供者提供,1个由我自己提供。)
  • 为了通过无会话协议在浏览器中保持会话,您需要向下和向上发送一些内容:cookie、隐藏字段、url 参数。所有这些都可以被篡改。这就是网络开发。
  • 请注意这是System.Web.HttpContext.Current.Session,而不是Controller.HttpContext,因此如果您在控制器中访问它,请务必指定正确的HttpContext。
猜你喜欢
  • 2015-10-02
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多