我有一个沉重的基于Ajax的Web应用程序。当用户登录时,正在加载单个PHP文件codro.php
。网页上的所有其余文件都是基于ajax的(按钮,导航栏等)。
在不活动30分钟后,系统会将用户注销。如果用户再次登录系统,他/她必须导航应用程序中的某个工作区域。因此用户必须再次重复每一步。
是否可以使用登录字段创建网页封面,以便当用户登录系统时,封面消失,用户继续在退出前他/她所在的地方工作?
该问题还有其他解决方案吗?那安全呢?
答案 0 :(得分:0)
没有任何代码,很难清楚地了解代码的运行方式。 我假设您正在使用会话变量来确定用户是否已登录。
事实是会话在特定的非活动期后关闭。据说你可以增加会话持续时间。 This may prove useful
另一种选择是您可以发送cookie以让客户端保持;但是这不如会话安全。
如果您想要了解您所询问的方法,可以使用$_SERVER['REQUEST_URI']
设置他们尝试导航到的页面并将其存储为变量,然后使用header('Location: myLoginPage.php?oldURL=$oldURL')
所以在被调用的php文件中,AJAX看起来像这样:
<?php
//Some other authenication code
if( !isset($_SESSION['userID']) ) {
$oldURL = $_SERVER['REQUEST_URI'];
header('Location: myLoginPage.php?oldURL=$oldURL');
die; //stop running code
}
//Other code and functions
?>
如果这有帮助,请告诉我!