很多站长朋友们都不太清楚php判断登录设备,今天小编就来给大家整理php判断登录设备,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 通过PHP 判断用户的设备是否是移动设备 2、 PHP如何判断用户是否登陆,防止同账号多登陆, 3、 php如何判断访问者的设备是不是同一个设备? 通过PHP 判断用户的设备是否是移动设备<?php function isMobile(){ //如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } //判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array( 'nokia','sony','ericsson','mot', 'samsung','htc','sgh','lg','sharp','sie-', 'philips','panasonic','alcatel','lenovo','iphone', 'ipod','blackberry','meizu','android','netfront', 'symbian','ucweb','windowsce','palm','operamini', 'operamobi','openwave','nexusone','cldc','midp', 'wap','mobile' ); if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } return false;} //用法if (isMobile()) { echo "这是手机";}
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如何判断访问者的设备是不是同一个设备?从绝对意义上来讲,这是不可能的。但相对而言,也能做一个近似的。简单的方式就是利用cookie在访问者的机器存放唯一的一个用户id或者别的什么标识号,下次访问时再读取这个号就行了。前提是,客户端的浏览器允许你这么做,而且用户没有清除cookie。
关于php判断登录设备的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php判断登录设备 php判断登录设备是否正常的详细内容...