0

在我正在处理的当前项目中,我们决定防止多登录为此,我在任何用户登录网站时在 sql 表中插入一条记录,注销时删除它的记录(我使用 session_end 方法这样做)

这里有一个问题:我将会话超时设置为 10 分钟,所以通过使用此策略,当用户关闭浏览器再次登录时,他必须等待 1 到 10 分钟(因为 sql 表中有一条记录会在未来最多 10 分钟内通过 session_end 方法删除并阻止用户再次登录)。

有没有人可以帮助我解决这个问题?每个想法都可能有用

抱歉我的语法不好,我是英语新手。更多详情请评论我

问候,阿里·福罗吉

4

1 回答 1

0

我不会使用会话超时来防止多次登录,因为您声明如果用户意外关闭浏览器、浏览器崩溃或喜欢评论、服务器问题和连接记录保留在数据库中。还有可能其他人在您不知情的情况下将会话时间设置更改为 1 分钟或 1 小时。

一年前我参与了一个系统,该系统增加了每个用户只能连接的要求。我们设计了将最后一次登录视为有效登录的系统。我们还决定不使用会话超时来检查连接是否仍处于活动状态。每次用户在网站上执行操作时,我们都会检查他上次执行操作的时间以及数据库中的值存储,并与当前时间进行比较。如果差值低于最大不活动值(如 10 分钟),系统会将值更新为当前时间并允许继续或重定向到超时页面。有了这个解决方案,它可以防止多次登录,也防止了很多问题的发生,用户不必等待重新连接到网站。

于 2012-08-16T14:18:59.847 回答