使用JavaScript的session_destroy()

时间:2015-11-21 14:45:00

标签: javascript php jquery ajax session

我正在寻找一个JavaScript代码来销毁那些不活跃的用户会话。 (这是一个实时聊天网站)

到期: 该网站每5分钟检测一次用户的活动,然后用最后一个活动时间戳更新数据库。因此,如果用户自2分钟前没有写过,则最后一个活动时间戳将为time()-120(120 = 2分钟)

现在我想js代码可以检测最后一个活动时间戳是否超过300秒(5分钟,以秒为单位),以销毁非活动用户的会话。

使用php会很容易,只需要刷新页面然后用户就会被注销。有没有机会用javascript做这个而不刷新页面?如果不活跃 - >销毁会话并自动注销,因此用户不能再写了。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

另请注意,在没有警告的情况下终止空闲用户的会话会导致用户体验不佳,并会使用户烦恼。至少事先通知他们,由于不活动,他们的会话将在两分钟内被删除,以便他们能够做出反应以保持在线。