如何禁止用户从多台计算机登录



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

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

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

谢谢,Guy

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

当用户登录时,将用户的会话id记录到数据库或等效数据库中。在每个页面请求中,确保用户的会话id与存储在其帐户存储区中的会话id相匹配。来自会话id不匹配的已登录帐户的请求应被拒绝,用户应注销。

这取决于您想要深入的程度。最常见的:

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

大公司也会将IP地址存储在数据库中(这样会话cookie就不会被盗)

最新更新