我将使用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中进行一次会话即可。当用户登录更新您的会话值时。在代码进行检查后。上一个登录将自动无效。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top