用户报告了一些不良的体验。他们离开应用程序后返回应用程序时,他们得到了一个空白页。通过发送给用户的URL中包含的令牌可以访问PWA。
该应用程序正在使用PHP和JQuery Mobile(哎呀)。
分析该程序后,似乎用户在一段时间后丢失了会话(不确定确切的次数)。
session_start();
if ( isset($_GET['token']) ) $_SESSION['token'] = $_GET['token'];
if ( ! isset($_SESSION['token']) ) exit('No tokens');
setcookie("token", $_SESSION['token'], time()+3600*24*30*5);
...
我的解决方案是在会话中使用cookie的令牌设置变量“令牌”:
session_start();
if ( isset($_GET['token']) ) {
$_SESSION['token'] = $_GET['token'];
} else if ( isset($_COOKIE['token'])) {
$_SESSION['token'] = $_COOKIE['token'];
}
if ( ! isset($_SESSION['token']) ) exit('No tokens');
setcookie("token", $_SESSION['token'], time()+3600*24*30*5);
...
我的解决方案正在工作,但是不确定是否有更好的方法来解决此问题。你能帮我一下吗?