Как запретить codeigniter использовать кеш

1

Когда я выхожу из моей учетной записи, а страница перенаправляет меня на страницу входа. Но если я нажимаю кнопку "Назад", то он показывает мне все предыдущие страницы, которые я посещаю.

Я не знаю, где его установить или сбросить.

Проверьте мою функцию выхода из системы

/**
 * Logout user
 */
public function logout()
{
    $this->session->sess_destroy();
    logout_user();
    redirect('login');
}

Я даже задал функцию для получения сведений о пользователе в

 parent::__construct();
    // redirect to Login page if user not logged in
    $this->mUser = get_user();
    if ( empty($this->mUser) )
    {
        redirect('login');
        exit;
    }
Теги:
codeigniter

2 ответа

0
  • Вы не можете управлять кнопкой Назад. Для этого вы можете проверить каждый контроллер/метод, установлен ли session или нет.
  • если этот параметр позволяет пользователю просматривать страницу
  • если не перенаправить страницу для входа в систему

    public function login()
    {
            $session = array(
            'username'  => $name,
            'logged_in' => TRUE
        );
    
        $this->session->set_userdata($session);
    }
    
    
    public function home()
    {
        $user = $this->session->userdata('username');//check session is set
        if(empty($user))
        {
            $this->session->set_flashdata('error', 'Session has Expired');
            redirect('controller/method');//loging page
        }
        else
        {
            $this->load->view("my_view");
        }
    }
    

ПРИМЕЧАНИЕ. У меня уже есть эта ошибка. Я нашел много возможных ответов, но это только влияет.

0

Я думаю, что это проблема с кешем браузера, поэтому попробуйте добавить следующее на страницы, где пользователи должны войти в систему:

//Prevent browsers from using history to browse in the user system.
$this->CI->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->CI->output->set_header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
$this->CI->output->set_header("Pragma: no-cache");

Пожалуйста, посмотрите ниже темы, надеюсь, что вы получите дополнительную помощь оттуда:

Проблема с кешем браузера в кодеригенере

проблема выхода из системы с воспламенением кода (PHP)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню