PHP如何做到一个会员帐号不能同时在两个地方登陆

php中文网
发布: 2016-06-23 13:34:32
原创
1019人浏览过

如小王在A地登陆了该帐号,而小陈接着在B地也登陆了该帐号,那么A地的小王电脑里就弹出个提示:你的帐户已在别处登陆,接着小王登陆的帐号自动被逼下线。
用什么方法呢?

逻辑智能
逻辑智能

InsiderX:打造每个团队都能轻松定制的智能体员工

逻辑智能 83
查看详情 逻辑智能

回复讨论(解决方案)

登入???登入???登入ip,根?ip判?地?。
如果登入地??上次登入地?不同,且?次登入??在一定???,?通?站?信息系?提示上一次登入的用?,被下?。

每次通过站点的登录表单,登录成功后,将数据库用户表中该用户数据,update一个新的key(根据一些条件随机生成的字串),并打到cookie中。

站点中所有页面,每次刷新时做校验:cookie的值和数据库表中的key的值,做比较。不相等的,清cookie,踢出去。

这个只能根据Ip判定了吧

既然是登录,那么就要检查用户表
在用户表中加一字段存储登录状态

检查用户合法性时,同时检查登录状态。如已登录就不准再登录了

如果登录用户不主动退出,再在必要时由管理员强制复位

用数据库自己管理session,有用户id字段。如果登录后有相同id在库内,就是重复登录。删除哪个session,哪个用户下线。

用户表中设这个是否在线字段,登陆时检测这个字段

判断登录状态 已经登录的将状态改为1 这个时候在登陆就会有两个1 有冲突 就可以实现唯一登录了(瞎瓣的 )

可以在登录时,生成一个唯一字符串,比如当前的时间戳记录到数据库中,同时也记录到SESSION中,每次页面操作的时候,判断用户是否登录的同时,也判断一下这个字符串,不一样就提示别处登录。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号