PHP利用Cookie设置用户30分钟未操作自动退出功能
发布时间:2021-02-05 23:21:07 所属栏目: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)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下! (编辑:瑞安网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |