PHP会话重合!一个人可以在没有登录的情况下以另一个人身份打开网站

问题描述 投票:1回答:2

我有一个登录网站。该脚本现在已经工作了几个月。但是自从一个星期以来我们注意到当我们打开网站时它已经被其他人登录了。

用户有时无法注销

这个问题现在变得非常普遍。它一直在发生。有时用户无法登录。当他们这样做时,他们有时会进入以前登录帐户的帐户。

我们使用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会话内部工作的一些问题。

更新:感谢所有帮助过的人!!

不,我们没有找到问题的解决方案。客户正在使用经销商托管。也许当一个站点影响另一个站点时,它必须对配置做一些事情。

我们设置了一个新托管并在那里安装了相同的脚本。一切都很好,生活很美好!

php cookies session-variables session-cookies
2个回答
0
投票

最好的方法是在用户登录系统时生成令牌,并将其存储在localstorage中。看看这个链接https://www.sitepoint.com/php-authorization-jwt-json-web-tokens/


-1
投票

你应该在登录时使用session_start();,在登出时使用session_destroy();

© www.soinside.com 2019 - 2024. All rights reserved.