一个严格的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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
CI框架整合smarty步骤详解
May 19 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
中止javascript执行的方法
2014/02/14 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
使用Python实现简单的服务器功能
2017/08/25 Python
Python KMeans聚类问题分析
2018/02/23 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
python Selenium 库的使用技巧
2020/10/16 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
劳资员岗位职责
2013/11/11 职场文书
大学生作弊检讨书
2014/02/19 职场文书
招股说明书范本
2014/05/06 职场文书
学生检讨书范文
2015/01/27 职场文书
车间统计员岗位职责
2015/04/14 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
python自动化之如何利用allure生成测试报告
2021/05/02 Python
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python