PHP实现自动登陆的思路分析
2015-01-28 21:53
323 查看
经常在做网站的时候需要用到一周内免登陆,一个月内免登陆这种需求。要实现只能通过cookie来实现了。那具体的实现过程是怎样的呢?
1.首先在用户第一次登陆的时候,如果勾选了一周内免登陆,则在登陆操作完成之后,存储一个自动登录的cookie,这个cookie可以是“$value是用户的"id"加一个"随机码"组成的字符串加密处理后的数据”这个随机码是存放在数据库里的用户表里面,作为用户下次自动登陆时验证。也可以是更加高端的数据,大家尽情发挥。
2.然后在下次登陆的时候在初始化的时候,先去检测用户电脑里是否有$_COOKIE['autoLogin']的数据,如果有,则对数据今昔解密之后分析,查看是否是之前登陆存储的真是cookie(以防伪造)
转自:http://jingyan.baidu.com/article/20b68a8853a410796cec62ba.html
1.首先在用户第一次登陆的时候,如果勾选了一周内免登陆,则在登陆操作完成之后,存储一个自动登录的cookie,这个cookie可以是“$value是用户的"id"加一个"随机码"组成的字符串加密处理后的数据”这个随机码是存放在数据库里的用户表里面,作为用户下次自动登陆时验证。也可以是更加高端的数据,大家尽情发挥。
//做登陆查询的伪代码 //'select id from user where email = xxx and password = xxx'; //查询结果为$res if($res){ setcookie('autoLogin',$value,7*24*3600+time()); //$value是用户的'id'加上一个'随机码'组成的字符串,然后加密处理的数据 //这个随机码是存在数据库的用户表里面,作为用户下次自动登录时验证 }
2.然后在下次登陆的时候在初始化的时候,先去检测用户电脑里是否有$_COOKIE['autoLogin']的数据,如果有,则对数据今昔解密之后分析,查看是否是之前登陆存储的真是cookie(以防伪造)
if(!empty($_COOKIE['autoLogin'])){ $userInfo = jiemi($_COOKIE['autoLogin']); //假设解密完毕得到的是一个数组 $userInfo['code'] = xxx; $userInfo['id'] = xxx; //然后拿这个信息去数据库里查询,如果能查到那么就登录成功 //查询伪代码 //select id from user where id = $userInfo['id'] and code = $userInfo['code'] //$res是查询的结果 if($res){ //重新处理cookie和session } }
转自:http://jingyan.baidu.com/article/20b68a8853a410796cec62ba.html
相关文章推荐
- PHP实现自动登陆的思路分析
- PHP用cookie实现自动登陆
- php实现自动获取生成文章主题关键词功能的深入分析
- PHP实现一周内自动登陆
- PHP仿tp实现mvc框架基本设计思路与实现方法分析
- PHP实现多图上传(结合uploadify插件)思路分析
- PHP,操作多个用户,多个线程的session,实现用户登陆状态session值的自动更新
- thinkphp——PHP异位或加密实现自动登陆
- PHP异位或加密实现自动登陆
- 大型PHP电商网站商品秒杀功能实现思路分析 技术角度称为:高可用 高并发
- php如何设置cookie实现自动登陆?
- PHP,操作多个用户,多个线程的session,实现用户登陆状态session值的自动更新
- php模拟登陆的实现方法分析
- PHP实现多图上传(结合uploadify插件)思路分析
- 网页注册和登陆简单实现的思路分析
- php模拟登陆的实现方法分析
- php模拟登陆的两种实现方法分析
- PHP SESSION之自动登陆的实现
- java过滤器原理分析以及实现,通过过滤器实现自动登陆