如何在浏览器上单击退格导航时阻止访问管理端口



我相信你是安全的。

求你了,我需要你的帮助。我创建的登录和注销方法是用户控制器,运行良好。当我按预期注销并重定向到登录页面时。我发现,当我点击浏览器上的向后箭头时,我可以通过登录访问管理门户。

用代码实现的进行解释

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class UserController extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('UserModel');
$data = array();
}

public function login(){
$this->load->view('login/login');
}

public function loginForm(){
$data = array();
$data['username'] = $this->input->post('username');
$data['password'] = $this->input->post('password');
$check = $this->UserModel->checkUser($data);
if($check){
$sdata = array();
$sdata['id '] = $check->id;
$sdata['userlogin'] = TRUE;
$this->session->set_userdata($sdata);
redirect('AdminController');
}else{
$sdata = array();
$sdata['msg'] = '<span style="color:red">User name and or password is incorrect</span>';
$this->session->set_flashdata($sdata);
redirect("UserController/login");
}
}

public function logout(){
$this->session->unset_userdata($id);
$this->session->set_userdata('userlogin', FALSE);
$this->session->sess_destroy();
redirect("UserController/login");
}
}

当我刷新我的URL时,登录页面运行良好

我登录并重定向到管理员门户,该门户按预期工作

我注销并重定向到登录页面,该页面也像预期的一样正常工作

现在,当我点击";单击返回";浏览器上的箭头,我在没有登录的情况下被重定向到管理门户

我想阻止这种行为。点击返回还应请求登录

请参阅下方的管理员控制器代码

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class AdminController extends CI_Controller {
public function __construct(){
parent::__construct();
}

public function index()
{
$this->load->view('admin/admin_page');

}
}

感谢您的帮助

注意:我使用的是codeIgniter 3.11

谢谢。

我将以下功能添加到我的管理面板中,以防止返回访问

public function __construct(){
parent::__construct();
if (!$this->session->userdata('login_id'))
return redirect("LoginController");
}

最新更新