在我的網頁中,我有用戶名和密碼字段,當用戶輸入正確的用戶名和密碼時,它顯示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