PHP登录系统,例如Yahoo Messenger
-
09-10-2019 - |
题
我将使用PHP创建登录身份验证,其要求是:一个用户名帐户无法同时登录,如果发生这种情况,则第一个登录用户应自动注销。就像Yahoo Messenger一样。该概念实际上是如何的?使用PHP最好的技巧是什么?
谢谢你。
解决方案
您需要在数据库中存储最后登录的会话ID。当用户下次登录时,您将无效旧会话并将新创建的会话ID存储在数据库中。例如:
$old_sess_id = /* read saved session ID from database */;
session_id($old_sess_id);
session_start();
session_regenerate_id(true); // "true" deletes old session
$new_sess_id = session_id();
/* store new session ID in database */
其他提示
卡萨布兰卡是对的...
此外,您不需要保存旧式和新会话。只需在您的DB中进行一次会话即可。当用户登录更新您的会话值时。在代码进行检查后。上一个登录将自动无效。
不隶属于 StackOverflow