网站建设合同的注意事项,is_page wordpress,做网站需要哪些审核,专业网站制作公司排行有时候你的网站账号被盗或你在别处登录操作后台时#xff0c;右下角会弹出提示信息#xff0c;提醒你的账号异地登录#xff0c;或者会被强制下线。对于这种安全性要求比较高的web网站#xff0c;很多后台管理都会做这种功能提醒。甄别自己的账号是否被盗或者是否有另一个人…有时候你的网站账号被盗或你在别处登录操作后台时右下角会弹出提示信息提醒你的账号异地登录或者会被强制下线。对于这种安全性要求比较高的web网站很多后台管理都会做这种功能提醒。甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进行后台操作这些都是很不安全的为了避免两个人同时登录同时操作可强制下线一个账号。我们今天就来讲解这个知识点。当然通过IP判断是不行的因为IP是随时会在某一个网段内变化的不过有一个机制那就是session恰巧可以解决这个只要你使用同一个浏览器访问网站浏览器不关闭每个来访者的session_id是不变的这也正是解决这个问题需要的。以TP5.0框架搭建的网站后台为例用哪各框架都一样1修改数据库用户表在user表中增加一个字段session_id varchar(32)用来存放登录之后的session_id。2用户登录用户登录就是正常的判断账号密码以及验证码当这些都验证通过的时候取出当前的session_id存入数据库user表中。3解决异地登录问题 对于后台操作为了便于验证和操作安全基本都会先创建一个公共控制器Common去继承控制器基类然后后台的其他操作控制器都继承这个公共控制器。对于后台的每一步操作之前用户状态的检测都放在Common控制器的__construct构造方法中。现在在__construct构造方法中除了验证用户登录状态是否被锁定等等还要取出本地session_id和存放在admin表中的session_id进行比对如果对不上那么表名账号在异地有登陆这时候可以迫使强制下线退回到登录页面。代码如下$userDb::name(admin)-where(id,session(admin_id))-find();
$session_id session_id();
if($user[session_id] ! $session_id){session_destroy();$this-error(登录异常被迫下线, Login/index);
}效果如下Login.php核心代码isGet就显示登录页面不是就进行登录处理操作。class Login extends Common
{public $is_check_login false;public function index(){if($this-request-isGet()){return $this-fetch();}//调用自定义的方法实现登录$model model(Admin);$result $model-login();if($result false){$this-error($model-getError());}}
}Admin.php,主要是处理上面login的逻辑与处理方法。校验等不返回false就存入session_idCommon.php公共控制器文件,login继承公共方法也就是中间件。意味着登录之前优先通过公共方法此处接收session_id与存在表里的session_id是否一致不一致就提醒异地登录强制下线public $is_check_logintrue;
public $request;
public function __contruct(Request $req)
{parent::__contruct();$this-request $req;if(!session(admin_id) $this-is_check_login){$this-error(先去登录,Login/index);}if(session(admin_id) $this-is_check_login){$user select.... //查找存在表里的session_id,然后作比较if(session(admin_id) ! $user[session_id]){session_destroy();$this-error(登录异常被迫下线);}}
}整个过程思路实现起来很简单其实就是在讲sesson_id的一个用法以上内容希望帮助到大家很多PHPer在进阶的时候总会遇到一些问题和瓶颈业务代码写多了没有方向感不知道该从那里入手去提升对此我整理了一些资料包括但不限于分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6laravelYII2RedisSwoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家需要PHP进阶架构师视频、面试文档免费获取docs.qq.com或 者关注咱们下面的知乎专栏PHP架构师圈子zhuanlan.zhihu.com