codeigniter - Codeigniter 的 sess_time_to_update 如何工作

标签 codeigniter

基于以下问题/答案
CodeIgniter session class not working in Chrome

我遇到的问题是,人们无法从远离美国服务器的另一个国家/地区登录我的网站。在网上搜索后,我偶然发现了一个建议,该建议描述了问题是如何基于服务器时区和用户时区之间的差异的。因此,通过扩展 session_expiration 我设法解决了这个问题,人们能够成功登录。

我的问题是 sess_time_to_update 是否会创建一个新的时间戳并且它会因为新的时间戳在错误的时区而注销用户?我是否必须使新的 sess_time_to_update 超过 17 个小时,以便它涵盖最广泛的时区,如我链接的问题中所述。是否有其他方式根据用户的本地时间在用户的浏览器中存储 session (不要求他们在配置文件中选择时区和其他类型的用户不友好方案)。我想要一个 2 小时的默认 session 过期时间 + 800 秒。更新时间。我没有使用数据库来存储 session ,我宁愿不使用它。

最佳答案

sess_time_to_update设置是 session 详细信息(例如上次事件)的更新频率。默认值为每 5 分钟(300 秒),并且会生成一个新的 session ID。这将根据 sess_expiration 重置到期日期。环境。

我建议保留 sess_time_to_update默认(或更低),因为这将使用户 session 保持更长时间,因为 session 到期将不断重置。可能需要保持高位的唯一设置是 sess_expiration ,除非您可以确定用户时区。

有几种方法可以尝试确定用户时区。一种是 Javascript(例如: Client Side Timezone Offsetting )或者您可以尝试使用 PHP's GEOIP方法。

关于codeigniter - Codeigniter 的 sess_time_to_update 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945603/

相关文章:

codeigniter - 为什么我在 jQuery 中看不到自动完成搜索的任何值(value)

mysql - 如何使用 codeigniter 插入和更新多个选定值?

php - CodeIgniter SQL查询错误处理

mysql - Codeigniter 更新数据库表

php - 在事件记录中使用 native SQL 函数 (codeigniter)

javascript - 使用 BIOSTALL google map library 在 Code igniter 中设置 Google map pans

php - 共享主机中的Codeigniter应用程序无法连接到vps中的远程mysql

php - mysql查询以检查codeigniter中数组中是否存在字段

model-view-controller - 在 MVC 设置中,文本应该在哪里格式化?

php - 在 LEFT JOIN PHP MySQL CodeIgniter 中选择最新行