基于以下问题/答案 CodeIgniter会话类无法在Chrome中运行
我遇到的问题是,人们无法从远离美国服务器的其他国家/地区登录我的网站.在线搜索之后,我偶然发现了一个建议,该建议描述了问题是如何根据服务器的时区和用户的时区之间的差异而定的.因此,通过扩展session_expiration,我设法解决了问题,人们可以成功登录.
我的问题是sess_time_to_update是否创建了一个新的时间戳,它会注销用户,因为新的时间戳是在错误的时区吗?我是否必须使新的sess_time_to_update超过17个小时,以便涵盖最广泛的时区,如我所链接的问题中所述.是否有其他方法可以根据用户的本地时间在用户的浏览器中存储会话(不要求他们在配置文件和其他类型的用户不友好方案中选择时区).我希望有一个2小时的默认会话到期时间+ 800秒.更新时间.我没有使用数据库来存储会话,我宁愿不使用它.
jus*_*mer 13
该sess_time_to_update设置是多久会话详细信息(如上次活动)更新.默认值为每5分钟(300秒),将生成一个新的会话ID.这将根据sess_expiration设置重置到期日期.
我建议保持sess_time_to_update默认(或更低),因为会话过期将继续重置,这将使用户会话保持更长时间.唯一可能需要保持高位的设置是sess_expiration,除非您可以确定用户时区.
您可以通过多种方式尝试确定用户时区.一个是Javascript(例如:客户端时区偏移)或者您可以尝试使用PHP的GEOIP方法.
| 归档时间: |
|
| 查看次数: |
16738 次 |
| 最近记录: |