【发布时间】: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();
}
谢谢
【问题讨论】:
-
如何清理会话文件?
-
你能详细说明一下吗?