chromes处理会话/cookie与safari和firefox相比发生了什么



在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");

我找到了解决方案。我想我会在这里为任何仍然困惑的人记录下来。

不知何故(我无法理解)通配符重定向并没有将www.和非www.对该网站的访问压缩为相同的访问(我使用了www.)。

由于某种原因,一些页面正在使用配音进行处理,而其他页面则没有。尤其是在离开网站并重新访问时。。。注销终止了www版本中的会话,但随后返回到非配音版本,就像"哦仍然登录"

相关内容

最新更新