【问题标题】:Whats a safe place to handle session renewal in php什么是在 php 中处理会话更新的安全地方
【发布时间】:2018-02-18 03:21:52
【问题描述】:

我正在建立一个网站,用户可以在其中使用 php 登录并在网站上做一些典型的事情。

当用户登录时,他们会获得一个会话计时器$_SESSION['LAST_ACTIVE'] = time();

我想在闲置 30 分钟后销毁该会话。但是,每次登录用户在 30 分钟的会话中从一个页面跳转到另一个页面时,他们的会话时间都会重置为 30 分钟。

这一切都很完美。我的问题是,将会话续订放在网站上最安全的位置在哪里?我正在使用 codeigniter(它使用 MVC 模型)并将其放在 Views 文件夹 中的一个名为 header.php 的文件中。肇事者能否以任何方式操纵它并延长会话计时器,即使用户不活跃以劫持他们的帐户?

视图 > header.php

if (isset($_SESSION['LAST_ACTIVE']) && (time() - $_SESSION['LAST_ACTIVE'] > 3600)) 
{
    session_destroy();
    redirect('', 'refresh');
}
elseif(isset($_SESSION['LAST_ACTIVE']) && (time() - $_SESSION['LAST_ACTIVE'] < 3600)) 
{
    // setting the session with a timer
    $_SESSION['LAST_ACTIVE'] = time();
} 

谢谢

【问题讨论】:

  • 如何清理会话文件?
  • 你能详细说明一下吗?

标签: php session


【解决方案1】:

您可以为您的应用程序编写基本控制器的 __constructor 方法上的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-10
    • 2015-07-18
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2018-08-15
    • 2011-03-15
    相关资源
    最近更新 更多