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