CodeIgniter注销在单击“后退”按钮或键入快捷方式链接后,注销后仍可以访问该页面

问题描述 投票:0回答:2

大家好,我问我是否可以解决这种问题。问题是当我注销后单击“后退”按钮时,用户仍然可以访问页面或通过键入页面的链接。我以为如果我可以销毁会话,它将自动禁用那些页面。

<?php defined('BASEPATH') OR exit('No direct script access allowed');
  class Auth extends MY_Controller {

public function index(){
    /* You Should check Session before loading page */
  if(empty($this->session->userdata('id'))){
     base_url('');
   }    
    $this->data['page_title'] = "User Login";
    $this->load->view('templates/master', $this->data);

     }
public function login(){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $data = $this->User_model->login ($username, $password);
    if($data){  
    $this->session->set_userdata('users', $data);
    $session_data = array(
        'username' => $username);
    $this->session->set_userdata($session_data);
    redirect('users');

    }
    else{
        $this->session->set_flashdata
        ('loginfail','<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
        <strong>Danger !</strong> Invalid Email or Password .</div>');
       return redirect("auth");


    } 
}
public function logout()
{
    $this->session->unset_userdata(array('username','id'));
    $this->session->sess_destroy();
    redirect('auth');

}

}

<a href="<?php echo ('auth/logout')?>" data-toggle="modal" data-target="#logoutModal">
    <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
    Logout
  </a>

大家好,我问我是否可以解决这种问题。问题是当我注销后单击“后退”按钮时,用户仍然可以访问页面或通过键入页面的链接。 i ...

php codeigniter authentication session logout
2个回答
0
投票

是,您必须退出用户会话。并且您必须在控制器的构造函数中检查用户会话。


0
投票

您应该重定向

© www.soinside.com 2019 - 2024. All rights reserved.