-2

我有一个应用程序,用户绝对必须登录才能使用它。

我在登录时使用 PHP 会话来存储用户数据。

如果用户打开一个窗口,然后在一个小时后返回,那么检查他们是否仍然登录的最佳方法是什么?

我能想到的选项是:

1) check mouse movement which then fire AJAX php file to see if session still active

2) check as above on mouse click anywhere

但是这些将持续运行,因此每秒可能会在没有那么多用户的情况下访问和访问服务器数千次,所以我怀疑效率。

有一个更好的方法吗?有“标准”吗?

我正在使用 PHP 和 JQuery。

4

1 回答 1

2

使用 JavascriptssetInterval(function, time)函数每 X 分钟轮询一次服务器,以检查用户是否已通过身份验证。根据所述结果以 JSON 格式返回响应。

有关该函数的详细讨论,请参阅javascript setInterval 。setInterval()

如果您实际上是在询问用户是否在网站上处于活动状态,您可以setTimeout()在 X 分钟(例如一小时)后使用该功能通过 AJAX 请求将用户注销,或者显示警告,例如在线警告网上银行。

如果用户在超时发生之前发出请求,那么由于请求 - 响应周期,此过程自然会重新启动。

于 2013-11-03T22:10:04.207 回答