卡卷网
当前位置:卡卷网 / 每日看点 / 正文

php如何禁止同一账号多处登录?

作者:卡卷网发布时间:2025-01-09 18:40浏览数量:84次评论数量:0次

先说方法,其实很简单。

在用户表增加一个字段叫last_login_ip,每次用户登录成功后,把这个值修改成当前Ip,并存放到会话中。

当用户再次登录后,数据库中的last_login_ip发生变化,但是会话中的没有。这时候只需要判断两个地方的这个值一样不一样,就可以决定该会话是否可以继续登录还是登出。

当然last_login_ip的好处是同一台电脑上,不同的浏览器登录,也不会相互挤掉。如果换成一个随机串,就表示,不管是不是同台电脑,只要一个用户登录第二次,就会把之前的登录状态挤掉。


这个回答下面的码农水平是太低了,低到连别人的答案都不认看或是想当然。

ip只是作为一个随机串的一种,他的好处在于同一个ip下面,几乎都是“自己人”。面对自己人的情况下,减少登录同一个账号,注意是同一个账号,你至少也得知道密码,互相顶掉的情况。

当然,你觉得ip这种随机串还是无法满足你的需求,你就是想二次登录就挤掉前面的,那你就换成随机数,这个用ip的道理是一模一样,有什么好纠结的。连这个都理解不了,你评论个啥啊?

还有人说,下个人登录之前把之前的sessionid删除掉。这样不是说不行,只会增加整体方案的复杂度。

要是还是理解不了,那就是我错了,你对了。爱怎么写怎么写。

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码