gpt4 book ai didi

javascript - 使用 JavaScript 的 session_destroy()

转载 作者:行者123 更新时间:2023-12-03 08:18:12 28 4
gpt4 key购买 nike

我正在寻找 JavaScript 代码来销毁不活跃的用户 session 。 (用于实时聊天网站)

到期时间:该网站每 5 分钟检测一次用户的事件,然后使用上次事件时间戳更新数据库。因此,如果用户从 2 分钟前开始就没有写入内容,则上次事件时间戳将为 time()-120 (120=2 分钟)

现在我希望 js 代码可以检测最后一次事件时间戳是否超过 300 秒(5 分钟,以秒为单位)之前,以销毁非事件用户的 session 。

使用 php 会很容易,只需要刷新页面,然后用户就会注销。是否有机会在不刷新页面的情况下使用 javascript 执行此操作?如果处于非事件状态 -> 销毁 session 并自动注销,因此用户无法再写入。

谢谢。

最佳答案

session 是一个后端概念,不能用前端 Javascript 直接控制。 session 是指存储在服务器上并以某种方式(通常使用 session cookie)链接到前端用户的信息。

您可以做的就是删除 cookie 并等待 session 在服务器上终止,或者编写一个立即使 session 失效的 PHP 脚本并通过 AJAX 调用该脚本。无论哪种方式,您都必须使用 Javascript 更改 UI,让用户知道他们已注销,例如通过禁用文本输入并停止轮询新消息的脚本。

另请注意,在没有警告的情况下终止空闲用户的 session 是糟糕的用户体验,并且会惹恼您的用户。至少提前通知他们,由于不活动,他们的 session 将在两分钟内终止,以便他们可以使用react以保持在线。

关于javascript - 使用 JavaScript 的 session_destroy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844641/

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