一个严格的PHP Session会话超时时间设置方法
最近某个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; // 刷新时间戳
}
}
根据文章《http://www.jb51.net/article/52961.htm》,我们可以结合第一种和第二种方法来最终决定会话超时时间。
相关推荐
-
ajax提交session超时跳转页面使用全局的方法来处理
在过滤器中写入如下方法: 复制代码 代码如下: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletResponse httpresponse =
-
重写 ajax 实现 session 超时跳转到登录页面实例代码
问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就可以在session超时的情况下重定向到登陆页面.但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转.下面就针对这个问题来贴上我的前后端代码. 1.session过滤器 import java.io.IOException; <p style="text-align: center"><img alt=""import javax.s
-
Java设置session超时的几种方式总结
Java设置session超时的几种方式总结 1. 在web容器中设置(此处以tomcat为例) 在tomcat-5.0.28\conf\web.xml中设置,以下是tomcat 5.0中的默认配置: <!-- ==================== Default Session Configuration ================= --> <!-- You can set the default session timeout (in minutes) for
-
Java中设置session超时(失效)的三种方法
1.在web容器中设置(此处以tomcat为例) 在tomcat-5.0.28\conf\web.xml中设置,以下是tomcat 5.0中的默认配置: 复制代码 代码如下: <!-- ==================== Default Session Configuration ================= --> <!-- You can set the default session timeout (in minutes) for all newly --&
-
IIS 7.5 asp Session超时时间设置方法
有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了 超时时间 那么我们如何设置超时时间呢? 1.IIS图形界面设置 IIS6 在IIS里面右键点击默认网站->主目录->应用程序设置里点配置->选项->启用会话状态->会话超时那里设置时间 IIS7.5 点击站点->功能视图->ASP->会话属性->超时 2.站点代码设置 在站点根目
-
Web 开发中Ajax的Session 超时处理方法
在 Java Web 开发中,当session超时的情况下,普通页面的跳转好处理.关于Ajax的请求超时处理,就需要特殊处理下了. 先写一个统一的过滤器,或者拦截器,针对Ajax请求进行过滤处理,下面示例以Filter为例: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServ
-
JSP Session超时设置的实现方法
JSP Session超时设置的实现方法 在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的.Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了. 设置Session超时时间方式: 方式一: 在web.xml中设置session-config如下: <session-config> <
-
一个严格的PHP Session会话超时时间设置方法
最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考. 第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值: 复制代码 代码如下: ini_set('session.gc_maxlifetime', "3600"); // 秒 ini_set("
-
python设定并获取socket超时时间的方法
python写法 import socket def test_socket_timeout(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Default socket timeout: %s" %s.gettimeout() s.settimeout(100) print "Current socket timeout: %s" %s.gettimeout() if __name__
-
在 Linux/Mac 下为Python函数添加超时时间的方法
我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊情况timeout 会失效,请看Timeouts and cancellation for humans* 这篇文章中作者的举例,我们不考虑这种特殊情况). 但大家有没有考虑过,如何为普通的函数设置超时时间?特别是在运行一些数据处理.AI 相关的代码时,某个函数可能会运行很长时间,我们想实现,在函数
-
mybatis设置sql执行时间超时时间的方法
存在这样的场景,当一些比较耗时的查询时,如果不中断,则会导致数据库堵塞,进而会拖垮整个数据库服务的正常运行. 1.如果你使用的是HikariCP连接池的话,可以在配置文件设置connetion-timeout这个属性(如application.properties) 2.如果你使用的是其他链接池,比如tomcat连接池,同时持久化框架用的是mybatis的话,那可以这样设置 2.1 在配置文件中设置全局的sql执行超时时间(单位s): mybatis.configuration.default-
-
Linux下date命令,格式化输出,时间设置方法
date命令的帮助信息 [root@localhost source]# date --help 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系统日期. -d,--date=字符串 显示指定字符串所描述的时间,而非当前时间 -f,--file=日期文件 类似--date,从日期文件中按行读入时间描述 -r, --reference=文件 显示文件指定文件的
-
详解Nginx服务器中配置超时时间的方法
一.啥时候用到 用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一个请求占用过长时间. 二.主要参数 使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi: fastcgi_connect_timeout 75; 链接 fastcgi_read_timeout 600; 读取 fastcgi_send_timeout 600; 发请求 这两个选项. fastcgi_read_timeout是指
-
php设置页面超时时间解决方法
有时候我的页面因为网络卡,会一直转,我想是不是可以给页面设置一个超时时间,多久没反应就提示超时 比如php里的set_time_limit(300) 我想不是php页面也有个超时机制 ------解决思路---------------------- php 里不就是set_time_limit() 吗,你还可以设置php.ini中的max_execution_time来改变全局超时时间. ------解决思路---------------------- max_execution_time --
-
php-fpm超时时间设置request_terminate_timeout资源问题分析
php日志中有一条超时的日志,但是我request_terminate_timeout中设置的是0,理论上应该没有超时时间才对. PHP Fatal error: Maximum execution time of 30 seconds exceeded in ... OK,先列出现在的配置: php-fpm: request_terminate_timeout = 0 php.ini: max_execution_time = 30 先查阅了一下php-fpm文件中关于request_term
-
ASP.NET页面请求超时时间设置多种方法
ASP.NET 页面请求超时时间(页面后台程序执行时间)默认值为110秒(在 .NET Framework 1.0 版和 1.1 版中,默认值为 90 秒) 即: Server.ScriptTimeout = 110(HttpServerUtility.ScriptTimeout = 110) System.Web.Configuration.HttpRuntimeSection().ExecutionTimeout.ToString() =00:01:50(110 秒) 方法一:设置 Serv
随机推荐
- SQL Server 2008 存储过程示例
- Access使用查询
- JavaScript正则表达式exec/g实现多次循环用法示例
- UCenter Home二次开发指南
- php部分常见问题总结
- PHP网页游戏学习之Xnova(ogame)源码解读(一)
- mysql 中InnoDB和MyISAM的区别分析小结
- vue-resourse将json数据输出实例
- mysql 5.7.14 下载安装、配置与使用详细教程
- MySQL建立唯一索引实现插入重复自动更新
- javascript中call,apply,bind的用法对比分析
- linux入门教程 第4章 X-Window与汉化
- 微信小程序 http请求的session管理
- VBS教程:函数-Cos 函数
- Python获取DLL和EXE文件版本号的方法
- jQuery动态创建html元素的常用方法汇总
- 解决Android平台中应用程序OOM异常的方法
- 第一次使用Android Studio时你应该知道的一切配置(推荐)
- php中文件上传的安全问题
- Android spinner下垃菜单用法实例详解