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

时间:2010-04-14 03:03:48

标签: php javascript

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

<?php
session_start();
session_destroy();


?>

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

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

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

另一个注意事项是禁用后退按钮可以解决问题 请帮忙。

2 个答案:

答案 0 :(得分:9)

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

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

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

另外请注意,不要永远弄乱客户端的按钮,他们希望它们以某种方式工作,最好让您的网站表现得像99.999%的互联网并且不会破坏他们的体验

答案 1 :(得分:0)

要阻止浏览器缓存页面,请在html或php文件的head标记中添加这两行代码(如果使用html)

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="expires" CONTENT="0">