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

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

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

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

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

Благодарю.

 Adam Waite03 мая 2012 г., 11:14
Спасибо @Ula, у меня сработало решение для заголовков.
 Aurimas Ličkus02 мая 2012 г., 19:49
/ Stackoverflow.com вопросы / 5251110 / ... не codeigniter, но я думаю, ты заставишь его работать
 Ula03 мая 2012 г., 05:55
проверьте это, я думаю, это поможет вам / Stackoverflow.com вопросы / 4630484 / ...

Ответы на вопрос(6)

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

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

Решение Вопроса

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

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

 user137051002 мая 2012 г., 20:15

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

Если файл 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'); 
}

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

CodeIgniter Framework версия:

$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('Last-Modified:'.gmdate('D, d M Y H: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 ООП, поместите приведенный выше код в свой конструктор для инициализации на своих страницах.

 J Ramesh Fernandez13 июл. 2015 г., 08:25
Куда мне добавить этот код? В контроллере или на каждой странице просмотра? Я использую Codeigniter Framework.

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

Ваш ответ на вопрос