Php中设置Session超时时间登录时间限制

第一种方法即设置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; // 刷新时间戳
    }
}

经验,其实session超时时间php默认就有一会时间了,当然我们可以按上面的方法来设置一下了,这种做法我觉得使用cookies会更方便哦。

时间: 2024-11-01 20:55:25

Php中设置Session超时时间登录时间限制的相关文章

询问工程中设置系统超时的时间设置

问题描述 近来接手了一个项目,前任走的很快,所以也没有交接,现在在一点点的啃他的代码.发现系统中有一个判断用户是否登录超时的动作,得到session的方式是用org.directwebremoting.WebContextFactory.CourtUser user = (CourtUser) WebContextFactory.get().getSession().getAttribute(SystemConfigPath.LONGING_BEAN_USERNAEM); 但是不知道这一套是从哪

web.xml 中设置session过期时间没有效果

问题描述 web.xml 中设置session过期时间没有效果 解决方案 session过期时间延长Session的过期时间C#如何设置session过期时间 解决方案二: 会不会代码中也设置的session时间如session.setMaxInactiveInterval(1*60)1分钟

关于jsp中利用cookie记录上次登录时间和IP的问题

问题描述 关于jsp中利用cookie记录上次登录时间和IP的问题 <% String IP = request.getRemoteAddr(); Cookie[] cookies = request.getCookies(); Cookie serverCookie=null; for(int i=0;i<cookies.length;i++) if(IP.equals(cookies[i].getName())){ serverCookie=cookies[i];} if(serverCo

jsp中使用cookie显示上次登录时间

问题描述 jsp中使用cookie显示上次登录时间 显示结果: 当前的时间:Sat Dec 06 20:32:36 CST 2014 上次访问时间:FAC2291FFA5623F835BDCB6F1CAE51C6 代码: <% Cookie[] cookies= request.getCookies(); Cookie cookie_response = null; if(cookies!=null){ cookie_response=cookies[0]; } out.println("

.net中,session超时之后,怎么处理

问题描述 在.NET中,当session超时之后会出现一些意想不到的问题,所以想大家帮个忙,出个注意,看如何比较妥善地解决这个问题问题描述:.NET环境中,session超时之后,会导致一些程序上的漏洞目前可以想到的解决办法有1.加长session超时的时间在WEB.CONFIG中<sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424"sqlConnectionString=

asp中设置session过期时间方法总结

 如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改   如果程序中设置了session过期时间,那么,即使你将IIS中session时间设置100小时也没有用,因为程序会首先按照程序中设置,只有程序没设置的情况下才会按照IIS设置的 时间设置要放在前面 例如  代码如下   Session.Timeout=30 'SEESION有效时间为30分钟  Sessi

asp中设置session过期时间方法总结_应用技巧

如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 复制代码 代码如下: Session.Timeout=30 'SEESION有效时间为30分钟 Session("ID")=Rs("id") Session("Name")=Rs("Name") Session(&q

Yii中设置session过期时间与session变量

设置session过期时间 如何在YII里设置SESSION过期时间,而不需要在php.ini里面设置. 在protected/config/main.php里,设置:  代码如下 复制代码 'components'=>array(     'session'=>array(         'timeout'=>3600,     ), ) 设置session变量: Yii::app()->session['var']='value'; 使用: echo Yii::app()-&

在ASP.NET中,设置Session的过期时间的方法_实用技巧

方法一:      在后台应用程序中设置:Session.Timeout = 1;     注意:1.此方法可以设置在一个公共的页面中,然后直接调用即可.             2.时间是以分钟为单位的 方法二:      在Web.config中设置:      在<system.web></system.web>中写入<sessionState mode="InProc" timeout="1" />