Php 使用无缓存头,Safari在注销后仍允许查看帐户的页面

Php 使用无缓存头,Safari在注销后仍允许查看帐户的页面,php,safari,logout,Php,Safari,Logout,当用户从我的站点注销时,他们会被带到logout.php。会话被销毁后,它们将被重定向到新页面。如果按下“后退”按钮,它们将返回account.php,页面上的用户信息仍会显示。但是,如果我点击refresh,页面就会识别出没有设置会话,页面被锁定。当按下后退按钮时,我需要页面不显示任何信息,并且不能使用JavaScript来实现这一点。这个问题在Safari中似乎一直存在 这是我的logout.php: // *** Logout the current user. $logoutGoTo =

当用户从我的站点注销时,他们会被带到logout.php。会话被销毁后,它们将被重定向到新页面。如果按下“后退”按钮,它们将返回account.php,页面上的用户信息仍会显示。但是,如果我点击refresh,页面就会识别出没有设置会话,页面被锁定。当按下后退按钮时,我需要页面不显示任何信息,并且不能使用JavaScript来实现这一点。这个问题在Safari中似乎一直存在

这是我的logout.php:

// *** Logout the current user.
$logoutGoTo = "../login/index.php?i=logout";
if (!isset($_SESSION)) {
  session_start();
}
$_SESSION['CM_Username'] = NULL;
$_SESSION['CM_UserGroup'] = NULL;
unset($_SESSION['CM_Username']);
unset($_SESSION['CM_UserGroup']);
if ($logoutGoTo != "") {header("Location: $logoutGoTo");
exit;
}
下面是我放置的PHP标题。我在该网站的另一个帖子中发现了这些:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
正如我前面所说的,这段代码在Safari中不起作用,在Chrome和FireFox中可以很好地工作

如何仅使用PHP解决此问题


提前谢谢你

我想你可以看看这篇文章:在开始会话之前,先清理先前的缓冲区,然后再尝试ob_start和clean