сессия пустая кнопка назад кеш браузера
Я знаю, что это общий вопрос, но не могу заставить его работать.
Пользователь входит в систему и добавляет сеанс и переменную.
Затем пользователь выходит из системы, запускает скрипт php и сеанс уничтожается.
Я распечатываю сессию на странице index.php после выхода из системы, и она пуста.
Но пользователь все равно может видеть страницу входа, если он нажимает назад ???
Я использую следующий код для уничтожения сессии:
session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
unset($_SESSION["username"]);
header("Location: index.php");
используя это, чтобы проверить, был ли сеанс уничтожен на странице index.php:
print_r("session".$_SESSION);
На каждой странице также есть этот код для предотвращения кеширования:
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache");
<meta http-equiv="expires" content="WED, 01 JUL 2009 05:00:00 GMT" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
Я могу успешно запретить пользователю вводить URL-адрес веб-сайта и получать доступ к защищенным страницам с помощью приведенного ниже кода:
if(!isset($_SESSION['user']))
{
echo 'no session in here';
session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
$_SESSION['username'] = '';
header("Location: index.php");
die("Redirecting to: index.php");
}