为了账号安全,请及时绑定邮箱和手机立即绑定

PHP会话超时

PHP会话超时

PHP
天涯尽头无女友 2019-08-19 10:29:51
PHP会话超时当用户登录时,我正在创建一个会话:$_SESSION['id'] = $id;如何在X分钟的会话上指定超时,然后在达到X分钟后执行功能或页面重定向?编辑:我忘了提到由于不活动我需要会话超时。
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

首先,存储用户上次发出请求的时间


<?php

  $_SESSION['timeout'] = time();

?>

在后续请求中,检查他们提前多久提出请求(本例中为10分钟)


<?php

  if ($_SESSION['timeout'] + 10 * 60 < time()) {

     // session timed out

  } else {

     // session ok

  }

?>


查看完整回答
反对 回复 2019-08-19
?
忽然笑

TA贡献1806条经验 获得超5个赞

当会话到期时,数据不再存在,所以类似于

if (!isset($_SESSION['id'])) {
    header("Location: destination.php");
    exit;}

只要会话不再有效,它就会重定向。

您可以使用session.cookie_lifetime设置会话cookie的有效时间

ini_set("session.cookie_lifetime","3600"); //an hour

编辑:如果由于安全问题(而不是方便)计时会话,请使用接受的答案,如下面的评论所示,这是由客户控制的,因此不安全。我从未将此视为安全措施。


查看完整回答
反对 回复 2019-08-19
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

首先检查会话是否尚未创建,如果没有创建会话。在这里我只设置1分钟。

<?php 
   if(!isset($_SESSION["timeout"])){
     $_SESSION['timeout'] = time();
   };
   $st = $_SESSION['timeout'] + 60; //session time is 1 minute?><?php 
  if(time() < $st){
    echo 'Session will last 1 minute';
  }?>


查看完整回答
反对 回复 2019-08-19
  • 3 回答
  • 0 关注
  • 378 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信