很多站长朋友们都不太清楚php防止同时登录,今天小编就来给大家整理php防止同时登录,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 请问php防止一个用户重复登录的问题 2、 PHP 如何禁止多个账号在同一台机器上登录 3、 php怎么防止同一用户登陆 4、 PHP如何禁止多个用户在各自的电脑上用同一个用户名同时登录系统? 5、 PHP如何判断用户是否登陆,防止同账号多登陆, 请问php防止一个用户重复登录的问题php的做法:
只能在每个页面通常是config.php更新该用户最后一次点击页面的时间,
同时查询哪些用户20分钟还没有点击,则删除。
====================更新
表名:use_log
uid int
lastrefer timestamp
用户每次点击任何一个页面,都会更新这个表的lastrefer为最新时间。
同时查询lastrefer小于当前时间-20分钟的用户,视为已经退出的用户。
补充2:参见php.ini设置
补充3:就是在config.ini里面
if(用户登录){
$sql="update 表 set lastrefer=CURRENT_TIMESTAMP WHERE 用户=当前用户"
执行sql
}
补充4:你这15分真难挣
PHP 如何禁止多个账号在同一台机器上登录利用网卡的mac地址做为唯一值
登录检查时记录 登录账号和mac
检查此mac是否存在于当前已登录的mac中,是的就提示并返回,不是就登录
php怎么防止同一用户登陆表里加个时间,用户刷新一次网页更新一次时间,如果距上次刷新页面时间超过假如20分钟,就算自动退出了。
PHP如何禁止多个用户在各自的电脑上用同一个用户名同时登录系统?1.如何检测该用户20分钟内点没点击过页面?
依靠别的用户点击页面来触发比较,不过这很不准确。
2.用户是非安全退出,如何清空logintime字段值?
无法清空。
3.PHP如何禁止多个用户在各自的电脑上用同一个用户名同时登录系统?
用时间和IP来判断,若是同一局域网的话就难了。
PHP如何判断用户是否登陆,防止同账号多登陆,大概逻辑是这样的,如果要达到一个账号登陆了,要把另一个客户端上的统一账号踢掉,那么你需要用记录用户头token,和设备唯一识别号到数据库。
当用户登陆的时候,检测和用户uid相关的token表,如果已经有token了,并且本次的设备唯一识别号和已经登陆的识别号不一样,那么清空原有token,也就是将原来登陆的账号踢下线。记录新的设备识别号的token即可。
php大致代码如下:
$currentDeviceUUID=getDeviceUUID();
$uid = getUserId();
$token = generateToken();
select * from tokenTable where uid="$uid";
update set token='' where uid="$uid";
insert into tokenTable (uid, token, deviceUUID) values("$uid", "$token", $currentDeviceUUID);
关于php防止同时登录的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。