gpt4 book ai didi

javascript - 在浏览器中检查 session 过期

转载 作者:行者123 更新时间:2023-12-03 11:59:44 32 4
gpt4 key购买 nike

我正在开发一个必须使用 session 超时的应用程序。

问题是用户经常错过 session 超时并丢失数据。我已经在 javascript 中实现了一个小型 session 管理器,如果浏览器中有一些事件,它将每分钟更新一次 session ,但用户仍然会以某种方式丢失数据(假设他们正在填写一半的表格,离开他们的机器,然后 session 结束后返回并提交表格。)

我想找到某种方法来警告他们 session 已过期。问题是我不知道到底该怎么做。我无法在 javascript 中检查 session cookie 的过期时间,因为它是一个 HttpOnly cookie,如果我执行某种 AJAX 请求来检查 session 的状态,它会自动为 session 设置新的过期时间。

有人能找到解决这些障碍的方法吗?

最佳答案

这不是关于检查 session 超时的直接答案...但我发现 garlic.js当我担心用户丢失表单中的工作时可以提供帮助。基本上,它是一个 JS 库,负责在提交表单之前将表单数据保存在用户浏览器的本地存储中。这样,即使浏览器关闭或 session 过期,数据也不会丢失。因此,对于数据丢失部分来说,这可能是一个很好的备份解决方案。

更新:

为了避免 session 超时后提交表单,我通常会设置一个 JavaScript 计时器,该计时器会在典型的 session 超时长度后几秒钟自动将用户重定向到 session 过期页面(带有一个简单的再次登录按钮)。 (当页面中有事件时,您可以使用 AJAX 轮询重置此计时器。)这与大蒜.js 结合,并结合“深度潜水”功能(通过在访问时将经过身份验证的 URL 存储在 session 中,以便在访问时将其存储在 session 中)超时并重新登录(您将用户返回到他们所在的最后一页)创建了一个非常无缝的超时、登录、从您离开的地方恢复的场景。

关于javascript - 在浏览器中检查 session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466707/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com