PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
本篇章节讲解PHP实现用户异地登录提醒功能的方法。分享给大家供大家参考,具体如下: 对于安全性要求比较高的web网站,特别是后台管理,有时候需要甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进行后台操作,这些都会很不安全,为了避免两个人同时登录同时操作,可以强制下线一个账号。 通过IP判断当然是不行的,因为IP是随时会在某一个网段内变化的,但是有一个机制,恰巧可以解决这个,那就是session,只要使用同一个浏览器访问网站,浏览器不关闭每个来访者的session_id是不变的,这也正是解决这个问题需要的。 以TP框架搭建的网站后台为例,思路如下: (1)数据库用户表在user表中,增加一个字段 (2)用户登录用户登录,就是正常的判断账号密码以及验证码,当这些都验证通过的时候,取出当前的session_id存入数据库user表中。 where(array('id'=>$_SESSION['uid']))->save(array('session_id'=>session_id()));
(3)解决异地登录问题对于后台操作,为了便于验证和操作安全,基本都会先创建一个基础控制器BaseController,然后后台的其他操作控制器都继承这个基础控制器。对于后台的每一步操作之前,用户状态的检测都放在BaseController控制器的初始化 现在在 where(array('id'=>$_SESSION['uid']))->find();
$session_id = session_id();
if($user['session_id'] != $session_id){
session_destroy();
$this->error('您的账号在其他地方登录,您已经被强制下线',U('login'));
}
当然也可以获取到异地登陆的IP,给出提醒: 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》。 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |