PHP异位或加密实现自动登陆
来源:互联网 发布:wps办公软件官网 编辑:程序博客网 时间:2024/05/17 06:59
1.在Common/function.php中
/** * 异位或加密字符串 * @param [String] $value [需要加密或解密的字符串] * @param [integer] $type [0:加密 1:解密] * @param [String] [返回加密或解密的字符串] */function encryption($value, $type = 0){$key = md5(C('ENCRYPTION_KEY'));//加密if(!$type){return str_replace('=', '', base64_encode($value ^ $key));}//解密$value = base64_decode($value);return $value ^ $key;}
2.当勾选自动登陆时
//登陆处理 public function signIn(){ if(!IS_AJAX){ $this->redirect('Login/index'); } $array = array(); $username = trim(I('post.username')); $password = trim(MD5(I('post.password'))); $auto = I('post.auto'); $admin = M('admin'); $uc = $admin->where(array('username'=>$username))->find(); if($uc){ if($uc['password'] == $password){ $_SESSION['id'] = $uc['id']; $_SESSION['username'] = $uc['username']; //自动登陆功能实现 if($auto){ $account = $uc['username']; //取得用户名 $ip = get_client_ip(); //获取客户端IP $value = $account . '|' . $ip; $value = encryption($value); cookie('auto',$value); } $array['msg'] = 1; $array['url'] = '/Admin/Index/index'; }else{ $array['msg'] = '密码错误'; } }else{ $array['msg'] = '账号不存在'; } exit(json_encode($array)); }}
3.公共头部判断是否上次登录
//自动登陆处理if(isset($_COOKIE['auto']) && !isset($_SESSION['id'])){ $value = explode('|', encryption($_COOKIE['auto'], 1)); $ip = get_client_ip(); //本次登陆IP和上次登陆IP相匹配 if($ip == $value['1']){ $where = array('username' => $value['0']); $user = M('admin')->where($where)->find(); //查看是否存在这个用户或者这个用户被锁定 if($user){ $_SESSION['id'] = $user['id']; } } }4.视图页面代码
<input type="checkbox" name='auto' checked='1' class='auto' id='auto'/><label for="auto">下次自动登录</label>
0 0
- PHP异位或加密实现自动登陆
- 用位运算符异或实现简单的加密
- php异或加密解密算法的实现
- php如何设置cookie实现自动登陆?
- PHP实现自动登陆的思路分析
- PHP SESSION之自动登陆的实现
- PHP实现一周内自动登陆
- PHP实现自动登陆的思路分析
- DES加密与位异或加密的比较分析
- 简单异或加密实现
- Qt数据加密类QCryptographicHash实现32位或16位加密
- 应用混沌序列采用位异或方式加密图像
- 通过位运算的异或运算符加密解密
- php位运算 与 或 异或 取反
- expect实现自动登陆
- Cookie实现自动登陆
- putty实现自动登陆
- UIWebView实现自动登陆
- 解决javax.el.PropertyNotFoundException: Property 'empId' not found on type java.lang.String
- HDOJ 5916 Harmonic Value Description 【2016CCPC长春现场赛】数学+构造
- LightOJ1007-Mathematically Hard-maths,前缀和
- 【JAVA设计模式08】——责任链模式
- R Clustering & Dimension Reduction聚类和降维
- PHP异位或加密实现自动登陆
- 给Java新手的一些建议----Java知识点归纳(Java基础部分)
- HDOJ 5916 Harmonic Value Description(脑洞题)
- Java 正则表达式详解
- 模仿企鹅FM播放主页面滑动动态改变各视图的大小
- C语言结构体里的成员数组和指针
- 使用Chrome调试前端界面
- box-sizing:border-box 解释
- HDOJ 5914 Triangle 【2016CCPC长春现场赛】数学