【问题标题】:SessionStorage sometimes lost after navigating away and coming backSessionStorage 有时会在离开并返回后丢失
【发布时间】:2020-12-19 00:33:26
【问题描述】:

我正在使用 SessionStorage 来存储我的前端应用程序所需的私有上下文信息。我注意到,有时当导航到不同的网站(不同的域,应用程序流的一部分)并再次返回时,会话存储不是我离开它的方式。有时什么都没有,有时还有几个属性。

我在 Windows 上的 Chrome 隐身模式和 Safari 隐私浏览模式上看到了这种情况。对于 Safari,我可以检测到私人浏览并回退到会话 cookie,但是这些将毫无意义地通过网络传递,所以我不想将其作为我的主要解决方案。另外我只能在 Safari 上检测到它,而不能在 Chrome 上检测到。

我找不到任何说明这是预期行为的文章。它并不总是发生的事实使调试变得更加有趣。

有没有办法可靠地使用 SesionStorage?或者是否有任何建议的替代方法可以安全地存储这些敏感信息?

【问题讨论】:

    标签: javascript session-storage


    【解决方案1】:

    没有 SessionStorage 绑定到浏览上下文的生命周期。这种上下文在浏览器之间是不同的。 来自spec

    浏览上下文的生命周期可能与实际用户代理进程本身的生命周期无关,因为用户代理可以支持在重启后恢复会话。

    如果您想要更持久的解决方案,您可以使用LocalStorage

    【讨论】:

      【解决方案2】:

      使用 LocalStorage 而不是使用会话存储 但是当您不需要进一步存储数据时不要忘记清除本地存储 欲了解更多信息check out

      【讨论】:

      • LocalStorage 'leaks' 在选项卡之间,也没有绑定到用户 Session,这意味着关闭选项卡不会清除存储,这对隐私信息不利
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2011-10-02
      相关资源
      最近更新 更多