php - 如何让我的 OpenCart 客户在一段时间不活动后注销?

标签 php opencart opencart2.x

我们有一个 OpenCart 站点(版本 2.3.0.2)。当客户登录时,我希望他们在指定时间不活动后被迫注销,例如30 分钟我观察到,即使客户处于非事件状态超过一个小时,他们也永远不会注销。

在根目录下的 php.ini 上,我修改了超时行:

session.gc_maxlifetime = 3600;

我放置了一个带有代码的 info.php 文件:

<?php
$maxlifetime = ini_get("session.gc_maxlifetime");
echo "max=".$maxlifetime;

echo "<hr>";
phpinfo();
?>

phpinfo() 中的 echo 和 session.gc_maxlifetime 的输出均显示为 1440(24 分钟)。

因此客户要么在 30 分钟或 24 分钟后注销。无论哪种方式,我都希望客户在一段时间不活动后注销。我该怎么做?

最佳答案

添加它的最佳方法是使用使用当前时间设置的 session 。

注意:最好创建 vqmod 或 modification section取决于您使用的 Opencart 版本,以免影响 Opencart Core

请参见以下代码:

    if (!isset($this->session->data['CREATED'])) {
        $this->session->data['CREATED'] = time();
    } else if (time() - $this->session->data['CREATED'] > 1200) {    //time in seconds
        session_destroy();
        $this->logout();
    } else if (isset($this->session->data['CREATED'])) { 
        $this->session->data['CREATED'] = time();
    }

关于php - 如何让我的 OpenCart 客户在一段时间不活动后注销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43037453/

相关文章:

PHP - 表中的位置

php - Laravel: Eloquent 'more than' 和 'lesser than'

javascript - 我如何拆分 json['total] 这样我只能得到总价

javascript - 如何从 JavaScript 中的 PHP 数组中获取值?

PHP-等待文件存在

php - Opencart如何测试是否安装了vqmod?

javascript - undefined variable 行 91 打开购物车

php - Opencart Admin 如何将选项卡添加到模块中

php - opencart获取所有可下载文件

php - OpenCart故障 Uncaught Error : Class 'Controllerextensiontotalaffiliate'