我有这个登录验证:
public function login_validation() {
$this->load->library('form_validation');
$this->form_validation->set_rules('email','Email',
'required|trim|callback_validate_credentials');
$this->form_validation->set_rules('password','Password','required|md5|trim');
if ($this->form_validation->run()){
$data= array(
'email'=> $this->input->post('email'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('Pag');
}else {
$this->load->view('login');
}
}
此重定向:
public function members() {
if($this->session->userdata('is_logged_in')){
redirect('Pag');
}else{
redirect('main/restricted');
}
}
然后退出:
public function logout() {
$this->session->unset_userdata('is_logged_in');
$this->session->sess_destroy();
redirect('main/login');
}
但是当我从我的页面按Logout时,我将被重定向到登录选项卡,但是如果我使用/ Pag写入URL路由,我将再次访问该站点(无需输入凭据),我认为sess_destroy
实际上并没有破坏我的会话。
答案 0 :(得分:0)
某些服务器存在问题(使用www和withought www注销)。您需要使用301重定向。我这样做了
在您的.htaccess
文件中输入此代码
RewriteEngine On RewriteCond%{SERVER_PORT} 80 RewriteRule ^(。*)$ https://www.example.com/ $ 1 [R,L]