我有一个登录网站。 该脚本现在已经工作了几个月。但是一周以来 我们注意到,当我们打开网站时,它已经被其他人登录了。
用户有时无法注销
这个问题现在变得非常普遍。它一直在发生。有时用户无法登录。当他们这样做时,他们有时会在以前登录帐户的帐户中结束。
我们使用php SESSIONS
来实现登录。
//Login
//Step 1 Facebook Login
//Step 2 Check db or add to db
//Step 3 below
$_SESSION['logouturl'] = $logouturl;
$_SESSION['loggedin'] = true;
$_SESSION['user_data'] = $user_data;
header("Location: $url");
这是注销脚本:
//logout
session_start();
session_destroy() ;
if(isset($_GET['redirect']) && !empty($_GET['redirect']))
{
$url=$_GET["redirect"];
}
else {
$url="http://www.website.com/";
}
header("location:$url");
我发现这是php会话内部工作的一些问题。
更新: 感谢所有帮助过的人!
不,我们没有找到问题的解决方案。客户正在使用经销商托管。也许当一个站点影响另一个站点时,它必须对配置做一些事情。
我们设置了一个新托管并在那里安装了相同的脚本。一切都很好,生活很美好!
答案 0 :(得分:0)
最好的方法是在用户登录系统时生成令牌,并将其存储在localstorage中。看一下这个链接https://www.sitepoint.com/php-authorization-jwt-json-web-tokens/
答案 1 :(得分:-1)
您应该在登录时使用session_start();
,在退出时使用session_destroy();
。