Php 如何防止多个用户使用相同的用户名和密码登录?

Php 如何防止多个用户使用相同的用户名和密码登录?,php,login,Php,Login,我正在用php开发安全登录系统。我想防止使用相同用户名和密码的用户多次登录。使用“我的脚本”,用户可以使用相同的用户名和密码从不同的浏览器或不同的IP登录帐户。我需要在我的数据库中添加一些列。当用户登录字段变为1且帐户被锁定时,当用户注销帐户被解锁时。但是,如果用户在不注销的情况下关闭浏览器呢 您可以在登录时设置随机salt,并将其存储在数据库和用户的cookie中 在每次登录时,您将生成一个新的随机salt,并将其存储在数据库(替换以前的值)和当前用户的cookie中 对于站点上的每个操作,您

我正在用php开发安全登录系统。我想防止使用相同用户名和密码的用户多次登录。使用“我的脚本”,用户可以使用相同的用户名和密码从不同的浏览器或不同的IP登录帐户。我需要在我的数据库中添加一些列。当用户登录字段变为1且帐户被锁定时,当用户注销帐户被解锁时。但是,如果用户在不注销的情况下关闭浏览器呢

您可以在登录时设置随机salt,并将其存储在数据库和用户的cookie中

在每次登录时,您将生成一个新的随机salt,并将其存储在数据库(替换以前的值)和当前用户的cookie中


对于站点上的每个操作,您不仅要检查会话,还要检查salt(如果用户会话中的salt与当前用户不同),这意味着有人以相同的凭据在他之后登录,您将使当前会话无效。这样,您将拥有所需的功能,并且不会遇到用户不注销的问题,因为每次用户登录时,都会使使用相同凭据登录的所有其他用户失效。

您可以设置会话的过期时间,如果用户在5分钟内没有单击任何位置来更改databaseCronjob中的此列以检查是否处于不活动状态,您可以对JavaScript事件做出反应,该事件会在用户关闭窗口或重新定位到其他网站时引发。但这很奇怪。可能会打开一个会话,该会话在一段时间不活动后自动关闭。然后恢复登录状态。最好不要执行这样的操作,这会欺骗自己,并使字段保持
1
forever将登录(或上次活动)时间戳与“signed on”标志一起存储。如果他们尝试使用“1”标志登录,请查看他们是否已处于非活动状态足够长的时间,您可以假定他们已退出旧会话。然后杀死旧会话并允许新的登录。“足够长”由你决定。不要忘记清理任何会话cookie,但要注意它们现在可能位于不同的计算机或浏览器上。