【发布时间】:2012-09-17 19:26:45
【问题描述】:
我的在线考试管理系统有一个奇怪的问题。
测试表单(test.php)中的一些用户需要很长时间才能回答问题并提交表单。
提交表单后会话过期,用户必须重新登录
这不是代码问题
我将此值设置在所有页面的顶部
ini_set('session.gc_maxlifetime', 18000);
有没有办法在不重新加载测试表单中的页面的情况下刷新会话 evrey 10 分钟以防止会话过期?
请帮帮我
谢谢
【问题讨论】:
-
可以做一些ajax调用吗?你能再描述一下你的剧本吗?可能是一些代码示例会有所帮助:)
-
有趣。我正在处理类似的问题,但我对此事的看法是,应该避免每隔一段时间自动重置会话超时,因为这将有效地创建一个无限会话,只要浏览器窗口打开,该会话就会持续存在。相反,我建议应该增加您的最大生命周期,并且可以根据用户操作刷新超时。甚至鼠标移动也可以做到这一点,一旦鼠标移动就启动一个计时器。除非包含一些用户交互组件,否则它会产生很大的安全漏洞。会话旨在过期。