如何在登录时使页面不被缓存

use*_*269 0 javascript php

我使用wamp服务器为我的PHP脚本.我在登出代码上遇到了困难.我每次注销链接上单击,然后单击上的Web浏览器的后退按钮它仍然显示的页面只能是通过谁是登录的用户访问.我有这样的代码,在这是在index.php的开始通过注销链接调用以销毁会话:

<?php
session_start();
session_destroy();


?>
Run Code Online (Sandbox Code Playgroud)

我在用户页面的开头有这个:

<? 
session_start();
if(!session_is_registered(myusername)){
header("location:login.php");
}
?>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么在用户注销后仍然可以访问用户页面.

作为另一个注释将禁用此按钮可以解决问题请帮助.

Nic*_*ver 9

您应该将页面设置为不可缓存,如下所示:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 15 Apr 2010 20:00:00 GMT");
Run Code Online (Sandbox Code Playgroud)

这样,客户端应该在回击时重新请求页面,从服务器获取新的"注销"版本.

在另一方面,没有永远与客户的按钮乱,他们希望他们的工作一定的方式,最适合您的网站的行为类似于互联网的99.999%,并且不会破坏他们的经验.

  • 必须在将任何内容输出到浏览器之前发送标头.不要把它放在<head>部分,把它放在ALL输出上面. (2认同)