1

我有一个具有登录/注销功能的网站。我怎样才能确保,100%,同样在一种稳定的技术中,用户将无法从两台不同的计算机登录到同一个帐户?

Javascript 不能用于此,因为它很容易禁用它。

例如,.NET 有一个 Session_End 函数,该函数在用户中止与服务器的连接时执行。如何用 PHP 做到这一点?

谢了,兄弟们

4

2 回答 2

2

注意:此技术将在第二台登录时有效地注销第一台计算机上的帐户。

当用户登录时,将用户的会话 ID 记录到数据库或等效项中。在每个页面请求上,确保用户的会话 ID 与存储在其帐户的存储中的会话 ID 匹配。来自具有不匹配会话 ID 的登录帐户的请求应该被拒绝并且用户应该被注销。

于 2012-07-12T18:00:40.197 回答
0

这取决于你想走多深。最常见的:

  • 在登录时创建一个唯一的会话 id cookie 并将其保存在数据库中
  • 所有网页都会检查会话 cookie 以确保其有效
    • 如果会话无效,则将用户重定向到登录页面
  • 当另一个用户尝试登录时,它会覆盖上一个会话
    • 这基本上踢出了第一个用户

大公司也会将 IP 地址存储在数据库中(因此会话 cookie 不会被窃取)

于 2012-07-12T18:01:44.877 回答