如何确保用户不能使用PHP中的同一帐户登录两次?

如何确保用户不能使用PHP中的同一帐户登录两次?,php,session,user-accounts,Php,Session,User Accounts,我有一个带有会话的PHP应用程序,希望确保用户不会将其凭据提供给第三方,而第三方可以同时使用该帐户 有没有办法确保登录的用户将第一个退出 是否还有查看哪些会话处于活动状态的方法 非常感谢。您可以将会话id与登录用户链接。然后查找该用户是否有会话id,如果有,请使用该会话id销毁该会话。同时链接会话名称。然后可以销毁该用户的会话cookie setcookie($session_name, '', time()-3600, '/'); 您可以在他们的用户表上有一列,您可以在他们每次尝试进行身份验

我有一个带有会话的PHP应用程序,希望确保用户不会将其凭据提供给第三方,而第三方可以同时使用该帐户

有没有办法确保登录的用户将第一个退出

是否还有查看哪些会话处于活动状态的方法


非常感谢。

您可以将会话id与登录用户链接。然后查找该用户是否有会话id,如果有,请使用该会话id销毁该会话。同时链接会话名称。然后可以销毁该用户的会话cookie

setcookie($session_name, '', time()-3600, '/');

您可以在他们的用户表上有一列,您可以在他们每次尝试进行身份验证时检查该列。(已验证:真、假)。会话将消失并根据php设置中的时间范围删除。如果文件消失了,会话也就消失了。

这是一个非常广泛的问题,有很多解决方案-请参阅Google


一般原则是,您需要跟踪会话,并在登录处理代码中检查尝试登录的用户的会话是否处于活动状态,或者阻止该登录尝试,或者引导当前登录的用户以支持尝试登录的用户。有几种方法可以跟踪会话、处理过期等。通过覆盖PHP的默认会话处理机制,您甚至可以在较低的级别上进行大量的自定义操作-下面是一篇关于此主题的便利文章

LoggedIn
字段添加到数据库中。您还可以将会话id键存储在users表中。