【问题标题】:Where are store SessionID on the client客户端在哪里存储 SessionID
【发布时间】:2010-11-26 15:27:32
【问题描述】:

我有一个 ASP 3.0 的网站。该网站通过服务器上的会话初始化身份验证,并在会话中检索用户的ID。多个客户端访问网站没有问题。

他们中的一些人在那里失去了会话。我认为是由于客户端配置带有 sessionID 令牌或类似的东西。

有人能告诉我客户端机器上 sessionID 的存储位置吗?

谢谢。

我读了这个post 并且只需要知道cookie 的名称是什么?它是我们可以在代码中读/写的同一个cookie吗?

我试图找到一种方法来识别存储在客户端计算机上的 sessionID 和服务器上连接的会话。有没有办法做到这一点?

【问题讨论】:

    标签: iis session asp-classic sessionid


    【解决方案1】:

    服务器分配一个会话并将其 ID 存储在一个称为会话 cookie 的 cookie 中。 ASP Session cookie 的格式如下:-

    ASPSESSIONIDACSSDCCC=APHELKLDMNKNIOJONJACDHFN
    

    请注意,cookie 名称 中的最后 8 个字符会因应用程序的一个实例而异。因此,即使要发现 cookie,您也需要枚举所有 cookie,以查找与模式 ASPSESSIONIDxxxxxxxx 匹配的任何 cookie。

    我不确定一旦你获得了这个 cookie,你能用它做什么有用的事。

    【讨论】:

    • 感谢您的回答。目标不是对 cookie 做任何事情,而是验证为什么我的客户端在大约 1 分钟后在 Web 服务器上创建一个新会话。
    • 您是否在 cookie 中存储了大量信息? Cookie 存储是有限的(我认为大约为 4K),因为它是先进先出系统,因此您的会话 cookie 可能会从列表中弹出。经典的这种情况发生在一个大的旧树视图控件中,该控件将树的状态存储在 cookie 中,如果它太大,浏览器会将其他 cookie 分箱以尝试容纳它。讨厌。
    【解决方案2】:

    会话 ID 可以以多种方式存储在客户端上,但指定确切方式的是服务器配置。如果可能,将使用 cookie。否则,会话 ID 可能是 URL 的一部分或作为隐藏表单变量的网页本身的一部分。 此外,会话 ID 通常会在一段时间后创建超时。如果用户没有联系服务器,例如20 分钟,会话到期,需要一个新会话。

    【讨论】:

      猜你喜欢
      • 2013-02-10
      • 1970-01-01
      • 2018-12-23
      • 2019-12-30
      • 2010-12-08
      • 2021-07-15
      • 2016-05-29
      • 2012-08-31
      • 2019-05-09
      相关资源
      最近更新 更多