Ошибка сеанса CodeIgniter после того, как кнопка выхода из браузера вернулась на защищенную страницу

я использую codeIgniter 2.1.4 в моем приложении. Если я на странице, требующей аутентификации. Затем я выхожу из системы после выхода из системы, если я использую кнопку «Назад» браузера, она возвращает меня на защищенную страницу. Я могу только просматривать страницу. Если я обновлю или нажму на любую ссылку, она перенаправит меня на страницу входа.

Я думаю, что это проблема с кешем? Но я не уверен.

1

Решение

Включите эти заголовки в функцию конструктора контроллера, чтобы предотвратить кэширование предыдущей страницы.

Если вы хотите Код Igniter’s способ сделать это включите код ниже

$this->output->set_header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0',false);
$this->output->set_header('Pragma: no-cache');

PHP способ сделать это используйте приведенные ниже строки кода

header("cache-Control: no-store, no-cache, must-revalidate");
header("cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
1

Другие решения

вставить $this->output->nocache(); в вашем __construct() функция после parent::__construct();

2

Вы можете запретить браузеру клиента кэшировать сайт, добавив

<meta Http-Equiv="Cache-Control" Content="no-cache">
<meta Http-Equiv="Pragma" Content="no-cache">
<meta Http-Equiv="Expires" Content="0">

в ваш HTML-заголовок.

0