一个严格的PHP Session会话超时时间设置方法


Posted in PHP onJune 10, 2014

最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考。

第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值:

ini_set('session.gc_maxlifetime', "3600"); // 秒

ini_set("session.cookie_lifetime","3600"); // 秒

第二种方法即设置Session时间戳,比如下面的办法。

在登录成功时设置时间戳为当前时间推后1小时,$_SESSION['expiretime'] = time() + 3600;。在检查用户登录情况使用如下代码:

if(isset($_SESSION['expiretime'])) {

    if($_SESSION['expiretime'] < time()) {

        unset($_SESSION['expiretime']);

        header('Location: logout.php?TIMEOUT'); // 登出

        exit(0);

    } else {

        $_SESSION['expiretime'] = time() + 3600; // 刷新时间戳

    }

}

根据文章《https://3water.com/article/52961.htm》,我们可以结合第一种和第二种方法来最终决定会话超时时间。
PHP 相关文章推荐
PHP使用者状态管理功能的应用
Oct 09 PHP
PHP Cookie的使用教程详解
Jun 03 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
phpmyadmin打开很慢的解决方法
Apr 21 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
php数组转成json格式的方法
Mar 09 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
解决CodeIgniter伪静态失效
Jun 09 #PHP
CI(CodeIgniter)框架介绍
Jun 09 #PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 #PHP
PHP小教程之实现链表
Jun 09 #PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 #PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 #PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 #PHP
You might like
PHP模板引擎SMARTY
2006/10/09 PHP
php数据库抽象层 PDO
2011/05/07 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
php将html转为图片的实现方法
2017/05/19 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
python集合是否可变总结
2019/06/20 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
Tostadora意大利:定制T恤
2019/04/08 全球购物
十佳大学生村官事迹
2014/01/09 职场文书
军训 自我鉴定
2014/02/03 职场文书
大学生标准自荐书
2014/06/15 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
应聘教师自荐信
2015/03/26 职场文书
工作建议书范文
2019/07/08 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS