使会话/ cookie无限期

Joh*_*ohn 2 php

我正在使用一个登录系统来设置下面的会话变量/ cookie.Chrome非常棒,让您可以毫不费力地查看您的Cookie,显然将其标记为"当我关闭我的浏览器时"到期的PHPSESSID.果然,当我登录时,关闭浏览器,然后打开一个新的浏览器会话,我不再登录了.

我怎样才能让用户保持登录状态,无论浏览器是否关闭?我想这样做,以便用户保持登录状态(如果可能的话,永久保存),除非故意注销.

提前致谢,

约翰

$_SESSION['loginid'] = $row['loginid'];

$_SESSION['username'] = $u;    
Run Code Online (Sandbox Code Playgroud)

irc*_*ell 8

看看session_set_cookie_params()......

第一个参数是$lifetime.将其设置为非0数字,这是他们将在几秒钟内保持登录的时间.如果为0,则在浏览器关闭后将被删除.请注意,您需要自己存储会话数据,或者也可以设置ini_set("session.gc_maxlifetime", $Lifetime);(以防止服务器删除旧会话).但请注意,这可能占用大量磁盘空间(并打开拒绝服务攻击,攻击者通过不断产生新会话来占用所有磁盘空间)...

1年〜= 3156000(秒)

我老实说建议实现一个"记住我"的功能,而不是试图无限期地坚持会议......记住我也会使用cookie,但它不会为非活跃用户占用服务器空间......

  • +1为"记住我"而不是持久的会话.请记住,会话可以[根据他们的年龄单独销毁](http://us.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime),即使cookie仍然存在存在. (4认同)