我相信你会保持安全。
拜托我需要你的帮忙。我创建的登录和注销方法是工作正常的用户控制器。当我注销并按预期重定向到登录页面时。我发现当我单击浏览器上的后退箭头时,我可以通过登录访问管理门户。
实现代码的解释
<?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