1

我正在开发一个主要由 AJAX 和 Javascript 驱动的基于移动的 Web 应用程序。要访问主页,登录页面会通过 post 将数据发送到主页,在主页上使用 mySQL 查询对其进行检查。如果登录有问题,它会将您返回到登录页面,否则它将继续到主页。我正在尝试找到实现超时以强制用户重新验证超过阈值的最佳方法。

一切都是通过 jQuery 和 AJAX 从主页控制的,因此它们在任何时候都不会离开 main.html。我的问题是移动浏览器如何处理被最小化或关闭?例如,我在我的 Android 设备上使用 Chrome 并登录到网络应用程序。我做了一些操作,然后最小化浏览器以在我的手机上做其他事情。3 小时后,我打开 Chrome 时标签仍在页面上,并继续我之前在页面上所做的事情。在那之后,我如何拦截并强制它们返回登录页面?我正在考虑将登录时间存储在 cookie 中,并在每次调用函数时对其进行检查,但这似乎不太优雅。

4

2 回答 2

0

使用会话。不使用cookie。我认为你错过了一些关于 PHP 的问题。

于 2013-05-03T15:00:03.347 回答
0

Cookie 可以随时更改。

如果您使用的是 PHP,这应该非常简单,只需跟踪执行的最后一个操作:

$_SESSION['last_action'] = time();

然后,当您的服务器收到 Ajax 请求时,检查该值。如果时间太长,请强制用户再次登录(因此,响应将返回一些值,指示您需要再次显示登录屏幕)。

我假设您现在知道会话是如何工作的以及您是如何工作的start_session()等等。

如果您不介意这样做,您也可以在会话中设置到期日期,但这可能不可靠

于 2013-05-03T15:41:32.223 回答