在 chrome 上,我遇到以下问题:
- 使用用户名和密码登录,这会为用户名和登录会话创建一个 cookie。
- 查看主页(其中有一个脚本来检查登录会话)
- 登出
- 尝试查看主页。但是我被引导回到登录屏幕/主页。
- 刷新并尝试查看主页。启动回到登录屏幕。
- 浏览到任何其他站点。
- 返回
example.com/mainpage.php
,我现在可以查看它(使用以前的用户名)
问题是,很明显,当返回站点时,用户应该仍然被注销并且在他们登录之前无法查看 mainpage.php。
我对此感到非常困惑。一时兴起,我检查了在其他浏览器上是如何处理的。并且在 Safari、Firefox 或 IE 上不会出现此问题。他们正确地将用户踢回主页。
似乎 chrome 正在“暂停”会话而不是正确结束会话,然后在我导航回站点时重新启动会话。
相关脚本如下:
// log out script
session_start();
setcookie("username", "", time()-360000);
setcookie("token", "", time()-360000);
$_SESSION["Login"] = "no";
// The mainpage script
if ($_SESSION["Login"] != "YES")
header("location: home.php");