【问题标题】:CodeIgniter Random Logout (sess_time_to_update = PHP_INT_MAX)CodeIgniter 随机注销 (sess_time_to_update = PHP_INT_MAX)
【发布时间】:2014-05-07 20:27:39
【问题描述】:

我有一位用户报告说他们在美国东部标准时间下午 6:45(大约在那个时间)被注销。我的会话过期时间是 24 小时,他们大约提前 8 小时登录。

作为一个测试,我将 sess_time_to_update 设置为 PHP_INT_MAX,因为它们是一个已知错误,会在轮换会话时导致会话注销。

我能想到的唯一会导致这种情况的是 Firefox 能够恢复以前的选项卡。这实际上会在浏览器关闭后恢复会话 cookie。

她说这也发生在 Internet Explorer 中...我在 IE 11 中找不到设置以在浏览器关闭后保留会话 cookie。

您是否有任何想法可能导致这种情况或知道要调查什么?

编辑:这发生在另一个客户身上。它只会发生几天,不会发生在不同位置的用户身上。我可以做些什么来确定这是怎么发生的?

【问题讨论】:

  • Chrome 也会出现这种情况吗?

标签: php codeigniter session cookies


【解决方案1】:

尝试在几个不同的浏览器中测试它,看看它是否仍在发生。 如果是的话,也许:

  • 检查是否有任何运行服务器端的 cron 作业可能会杀死服务器上的会话 cookie?
  • 使用像 IECookiesView 这样的工具来查看有哪些 cookie、它们何时设置为过期以及是否有任何变化?

如果他们在类似的时间不断退出登录,请尝试找出当时服务器或本地可能发生的任何事情。恢复选项卡(带有 cookie)功能不太可能同时随机运行。

我记得在 Firefox 中看到了一个功能,可以在退出时清除所有 cookie,它们会在那个时候重新启动吗?

希望我能帮上忙。

【讨论】:

  • 服务器上没有 crons。我正在通宵运行测试以查看。在 codeigniter 中有一个用于会话的车库收集器,但这应该只清除超过 24 小时的会话。我想知道他们是否是会话错误。我今天注意到的唯一奇怪的事情是查看她正在使用的会话将在晚上 7 点左右到期,并且已经将近 1 天了。它必须与浏览器相关......我想。我没有其他投诉。
  • 要求用户更改浏览器可能有点过分。您是否尝试过在 CodeIgniter 论坛中询问,好像这是一个错误,您可以在无需更改浏览器的情况下对其进行排序。
  • codeigniter 论坛基本上已经死了,而且垃圾邮件很多,所以它不是真的有用。我在 Firefox、iOS(iPhone + iPad)中做了一个测试,并保持打开 12 小时,它没有断开连接。
  • 那么一定是浏览器。奇怪。是否有可以让您读取 cookie 的 Chrome 扩展程序?
【解决方案2】:

我不确定您是否将会话的实际到期期限设置为 PHP_INT_MAX。正如manual sess_time_to_update 配置中所述,控制会话类重新生成自身并创建新会话 ID 的频率。换句话说,它是会话详细信息(例如上次活动)的更新频率,而不是过期频率。

另一方面,有一些配置指令会影响您的案例的意外会话到期:

  • sess_expiration:您希望会话持续的秒数。默认值为 2 小时(7200 秒)。如果您想要一个没有过期的会话,请将值设置为零:0。

  • sess_expire_on_close:浏览器窗口关闭时是否使会话自动过期。

确保这些设置设置正确,然后尝试在您自己的浏览器上重现该情况以缩小问题的范围。如果您仍然遇到随机注销,请向会话库的sess_destroy() 添加一个log_message() 调用,以跟踪用户会话破坏,这可能会为您提供有关破坏模式的线索。

如果没有,我认为那将是用户的浏览器或她机器上的类似 CCleaner 的应用程序擦除 cookie。指示她将浏览器设置恢复出厂设置或安装全新的浏览器。

另外值得注意的是,一些 CI 库,例如 IonAuth 有自己的相关配置。如果您使用 IonAuth 进行身份验证,请查看 ion_auth.php 配置文件中的 user_expireremember_users 指令。

希望对你有帮助。

【讨论】:

  • 我会尝试其他浏览器。
猜你喜欢
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 2017-11-08
  • 2020-06-17
  • 2012-09-26
  • 1970-01-01
  • 2012-12-06
  • 2017-06-20
相关资源
最近更新 更多