Кнопка возврата кодовой строки после выхода из системы

Я пытаюсь остановить / отключить функциональность кнопки «Назад» браузера, когда пользователь выходит из моего приложения CodeIgniter (PHP). Но, я думаю, браузер кэширует страницу, чтобы она стала видимой, несмотря на то, что сеанс был уничтожен при выходе из системы.

Я знаю, что сеанс мертв, потому что, когда пользователь пытается что-либо сделать (нажмите любую ссылку и т. Д.), Их выгнали из методов моего контроллера.

Это не идеальный вариант, чтобы кнопка «Назад» работала таким образом, поскольку предыдущая страница содержит конфиденциальную информацию.

Не подскажете, как решить эту проблему, может быть, переадресовать страницу между ними (но тогда пользователь может быстро нажать кнопку «Назад»?), Помогите!

Благодарю.

Solutions Collecting From Web of "Кнопка возврата кодовой строки после выхода из системы"

Добавьте это, чтобы предотвратить кеширование предыдущей страницы:

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"); 

Я думаю, это может помочь вам, это работает для меня.

Версия CodeIgniter Framework:

 $this->output->set_header('Last-Modified:'.gmdate('D, d MYH: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('Last-Modified:'.gmdate('D, d MYH:i:s').'GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0',false); header('Pragma: no-cache'); 

если вы используете PHP OOP, поместите вышеуказанный код в свой конструктор для инициализации на ваших страницах.

Мое решение для этой проблемы:

  1. Убедитесь, что cookie установлен с if.
  2. Шаговые параметры и вызовите метод входа в систему пользователя.
  3. Наконец, зарядите соответствующие представления.

Если файл cookie не установлен, он будет перенаправлен на страницу входа в систему.

 if(isset($_COOKIE['ci_session'])){ $user= $this->security->xss_clean($this->input->post('user')); $pass= $this->security->xss_clean($this->input->post('pass')); $result = $usrLog->loguearUsuario($user, $pass); if($result == TRUE){ $data = $this->session->set_userdata('logged_in', $sessArray); $this->load->view('pages/admin', $data); } }else{ header('Location: login'); } 

Надеюсь, вы учитесь! И извините за мой английский! 🙂

после выхода из системы на одной странице вы увидите сообщение типа «скоро увидимся» и через некоторое время переадресовываем его на нужную страницу, это может решить вашу проблему, например, ниже для перенаправления второго заголовка времени («Обновить 3; url = home.php», );

Вы можете использовать javascript, чтобы закрыть окно после выхода из системы – таким образом, удаляя любую возможность возвращать страницы.

Многие интернет-банки делают это, чтобы решить эту проблему.

Я думаю, что следующее должно помочь вам

1) Создайте файл logout.php и добавьте к нему следующий код

 <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $( document ).ready(function() { $( "#submit" ).trigger( "click" ); }); </script> </head> <body> <form action="<?php echo base_url();?>login" method="post"> <input type="submit" id="submit" style="display: none;"> </form> </body> </html> 

2) Измените функцию выхода из системы, чтобы загрузить файл вида выше logout.php