Jac*_*cco 85
首先,存储用户上次发出请求的时间
<?php
$_SESSION['timeout'] = time();
?>
Run Code Online (Sandbox Code Playgroud)
在后续请求中,检查他们提前多久提出请求(本例中为10分钟)
<?php
if ($_SESSION['timeout'] + 10 * 60 < time()) {
// session timed out
} else {
// session ok
}
?>
Run Code Online (Sandbox Code Playgroud)
Vin*_*vic 44
当会话到期时,数据不再存在,所以类似于
if (!isset($_SESSION['id'])) {
header("Location: destination.php");
exit;
}
Run Code Online (Sandbox Code Playgroud)
只要会话不再有效,它就会重定向.
您可以使用session.cookie_lifetime设置会话cookie的有效时间
ini_set("session.cookie_lifetime","3600"); //an hour
Run Code Online (Sandbox Code Playgroud)
编辑:如果由于安全问题(而不是方便)计时会话,请使用接受的答案,如下面的评论所示,这是由客户控制的,因此不安全.我从未将此视为安全措施.
小智 5
首先检查会话是否尚未创建,如果没有创建会话.在这里我只设置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';
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231284 次 |
| 最近记录: |