加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP利用Cookie设置用户30分钟未操作自动退出功能

发布时间:2021-02-07 13:36:44 所属栏目:PHP教程 来源:网络整理
导读:登陆控制器需要做的登陆成功把用户ID等信息存入cookie: systemSetKey(array(‘name‘=>$admin_info[‘admin_name‘],‘id‘=>$admin_info[‘admin_id‘],‘gid‘=>$admin_info[‘admin_gid‘],‘sp‘=>$admin_info[‘admin_is_super‘]));//登陆成功之后

登陆控制器需要做的登陆成功把用户ID等信息存入cookie:

systemSetKey(array(‘name‘=>$admin_info[‘admin_name‘],‘id‘=>$admin_info[‘admin_id‘],‘gid‘=>$admin_info[‘admin_gid‘],‘sp‘=>$admin_info[‘admin_is_super‘]));//登陆成功之后做得事情

父类中的 systemSetKey 方法:

父类控制器构造方法判断用户是否有登陆:

admin_info = $this->systemLogin();//取得管理员的资料,之后的子类控制器继承构造方法 if ($this->admin_info[‘id‘] != 1){ // 验证权限 $this->checkPermission(); } //转码 防止GBK下用ajax调用时传汉字数据出现乱码 if (($_GET[‘branch‘]!=‘‘ || $_GET[‘op‘]==‘ajax‘) && strtoupper(CHARSET) == ‘GBK‘){ $_GET = Language::getGBK($_GET); } } /** * 系统后台登录验证 * * @param * @return array 数组类型的返回结果 */ protected final function systemLogin(){ //取得cookie内容,解密,和系统匹配 $user = unserialize(decrypt(cookie(‘sys_key‘),MD5_KEY));//取cookie 里面储存的信息,现在使用的框架里面自定义了cookie的加密方式 if (!key_exists(‘gid‘,(array)$user) || !isset($user[‘sp‘]) || (empty($user[‘name‘]) || empty($user[‘id‘]))){ //假如不存在说明用户没登陆或者用户长时间未操作cookie时间过期 跳到登陆页面去 @header(‘Location: index.php?mod=login&action=login‘);exit; }else { $this->systemSetKey($user);//如果用户有登陆的话,每一个操作都会重写刷新cookie; } return $user; }

加密函数:

解密函数:

0 && (time() - substr($tmp,11) > $ttl)){ $tmp = null; }else{ $tmp = substr($tmp,11); } } return $tmp; }

以上所述是小编给大家介绍的PHP利用Cookie设置用户30分钟未操作自动退出功能,希望对大家有所帮助。程序员遇到问题都会上(编程之家52php.cn)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读