1

我们有一个流媒体网站,它有一个基于 PHP 会话的登录系统。用户启动流后,如果另一个人正在使用同一帐户连接,我需要终止第一个会话并终止页面。我能想到的唯一方法是使用 Ajax,但我不确定这有多安全。有没有办法在 php 中输出页面,在页面提供给用户之后,然后脚本继续检查另一个用户是否使用相同的帐户登录并终止页面?尝试使用输出缓冲和睡眠,到目前为止没有运气。

4

1 回答 1

1

首先,您需要跟踪数据库或其他存储系统中的会话。这些数据应该对用户有参考。并定期清理。

如果您终止现有会话,则该会话中的用户不会被推出,直到下一个服务器请求。所以在后台,你想'ping'服务器,只需发出一个ajax请求,直到它失败。失败时,将用户重定向回登录页面。

现在这不是万无一失的。客户端可能会干扰、阻止或重定向 ping 请求。但是,如果他们要访问您系统中的另一个页面,他们将被迫再次登录。

于 2013-01-09T20:50:39.757 回答