|
|
1
0
好吧,最理想的情况是,用户使用表单发送的数据被临时保存,用户有机会再次登录,然后被重定向到他所来自的页面,该页面已经填充了旧数据。必须输入两次数据(或者如果你正处于某个过程中,在一段时间后让页面本身重新定向)是相当烦人的。 如果您希望在不保留页面上输入的数据的情况下重定向,则至少应向用户显示一个指示,说明他在页面过期之前还剩多少时间。使用JavaScript应该是一个很好的选择。 |
|
|
2
1
你可以使用 meta-refresh 标签,例如10分钟后重定向:
这不是一种非常用户友好的方式来处理会话到期,特别是对于您突出显示的用例。 一种更好的技术是使用javascript跟踪用户活动,方法是获取按键和鼠标移动事件。每分钟,如果有一些活动,则触发一个XMLHttpRequest以保持会话活动。 假设您的会话在10分钟后到期,而这个JS在这段时间内没有发现任何用户活动,它可以在页面的横幅内提醒用户会话已到期,并提供重新建立会话的方法等。 这样,执行数据输入或(无论表单是为什么)的人不会在他们花时间的时候丢失他们的会话,如果他们离开办公桌去吃午饭,也不会被重定向! |
|
|
3
1
创建页面时,可以使用php函数ini-get读取会话生存期。
|
|
|
4
0
我也使用了一个javascript解决方案。我们的登录页面会破坏会话,所以我们有一个计时器,在每次页面加载时重置为零。如果计时器过期,它将重定向到登录页,这将破坏会话。 |
|
|
5
0
您可以使用javascript定期检查会话是否已过期,然后重定向会话(如果已过期)。实现取决于身份验证系统的详细信息,但基本上涉及将会话的过期时间传递到页面,然后将过期时间与当前时间进行比较,直到会话过期。 编辑:实例 我使用prototype.js,所以如果您使用其他框架(或者只是原始JS),那么您必须对其进行调整。
应该按照你想要的去做。 |