Anonymous 发表于 2021-12-8 16:34:03

PHP回话过期重新登录(超过一段时间以后需要重新登录)

//开启session
session_start();
if(isset($_SESSION['last_access']) && (time()-$_SESSION['last_access'])>600)
{
//此时应该设置session失效
echo '<script> alert("回话已经过期请重新登录");window.location.href = "/login.php"</script>';
exit();
}
//session 中last_access的值没有设置或者设置的时间大于10秒就重新设置为当前时间
if(!isset($_SESSION['last_access'])||(time()-$_SESSION['last_access'])>10)
{
$_SESSION['last_access'] = time();
}
超过十分钟重新登录,首次登录也需要foreach ($rs as $key => $v) {


    if ($username == $v['username'] && password_verify($password,$v['password'])){       //使用password_verify函数验证原始密码和散列哈希

                      session_start();
                $_SESSION['logo']="cb";
                     $_SESSION['id']=$v['id'];
            $_SESSION['role']=$v['role'];
            $_SESSION['renyuan']=$v['renyuan'];
            $_SESSION['last_access'] = time();
                           $arr['result'] = 1;
//
      $ip =$_SERVER['REMOTE_ADDR'];
       $shiijan = date("Y-m-d:H:i:s");
       $dz ="登录本系统";
       $log = "INSERT INTO cxsj_zyfp_log (user, action,status,shijian )VALUES ( '{$username}', ' $dz','成功','$shiijan')";
       mysqli_query($db,$log);
//
             exit(json_encode($arr));
             $exist = true;
            break;
            } else{
               $exist = false;
               }                                          
}



页: [1]
查看完整版本: PHP回话过期重新登录(超过一段时间以后需要重新登录)