PHP中,用户登陆,在Cookie中设什…

服务器端密码是经过MD5加密的.

客户端cookie:

Base64编码(username+"|"+cookie有效期+"

|"+MD5(username+":"+password+":"+key)).

读取cookie:

Base64 解码cookie值:

获得username,判断cookie是否超时,如果过了有效期,删除此cookie,此时自动登录就失效了.

根据username查询数据库 如果 用户存在,将返回的  password和username,key 在经过MD5加密,

和之前从cookie获取的MD5(username+":"+password+":"+key))进行比对,如果一致,那么自动登录成功,否则就失败.

 

thinkphp后台检测用户登录超时的实现方法

在thinkphp的后台检测中,由于每个操作的地方都需要先判断一下登录是否超时,就想到用构造函数,但是每个类都写一个构造函数又不方便。

在thinkphp的后台检测中,由于每个操作的地方都需要先判断一下登录是否超时,就想到用构造函数,但是每个类都写一个构造函数又不方便。
所以写了一个公共类,这个公共类里面还可以写许多其他的通用方法,如: _initialize 方法

新建一个公共Action叫CommAction.class.php
 

复制代码代码如下:
<?php
class CommAction extends Action {   
   public function __construct() {  
        parent::__construct();  
        $this->checkAdminSession();  
   
      
   public function checkAdminSession() {  
       //设置超时为10分  
       $nowtime = time();  
       $s_time = $_SESSION['logintime'];  
       if (($nowtime - $s_time) > 600) {  
            unset($_SESSION['logintime']);  
            $this->error('当前用户未登录或登录超时,请重新登录', U('login/loginpage'));  
        } else {  
            $_SESSION['logintime'] = $nowtime;  
         
      
}
?>
 

如果是面向过程的程序则写一个session.inc.php,把程序判断写在这个文件中,然后其他文件都包含即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值