在我的网页中,我有用户名和密码字段,当用户输入正确的用户名和密码时,它显示index.php。当用户单击注销链接时,它会显示登录页面。但是当我们在注销后点击浏览器后退按钮时,它会再次显示我们所显示的最后一页。注销后的会话问题
我的注销代码如下
<?php
unset($_SESSION['username']);
unset($_SESSION['password']);
header("Location: login.php");
?>
在我的网页中,我有用户名和密码字段,当用户输入正确的用户名和密码时,它显示index.php。当用户单击注销链接时,它会显示登录页面。但是当我们在注销后点击浏览器后退按钮时,它会再次显示我们所显示的最后一页。注销后的会话问题
我的注销代码如下
<?php
unset($_SESSION['username']);
unset($_SESSION['password']);
header("Location: login.php");
?>
通过使用浏览器的本地缓存中,他们没有发出你一个新的请求(这将让你引导他们通过登录的/ etc )您需要控制包含敏感信息的所有资源的可缓存性。通常,您可以通过添加Cache-Control标题来完成此操作。
使用此而不是在你的注销页面...
session_start();
session_destroy();
这会破坏当时与该特定人的所有会话。
明确禁止缓存您需要保护的资源。
添加到您的网页。
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
你应该在evry页面检查session var – k102