【发布时间】:2016-12-01 08:09:49
【问题描述】:
为了防止在codeigniter中缓存,我正在使用
<?php
header('Expires: Sun, 01 Jan 1995 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');
?>
在注销时我取消设置会话数据并销毁会话
$this->session->unset_userdata('logged_in');
$this->session->unset_userdata('name');
$this->session->sess_destroy();
redirect('user/login');
当我第一次按下后退按钮时,只会出现登录页面,而不会出现其他访问过的页面。所以我假设 no-cache 是有效的。
但是,如果我一直按返回按钮,然后确认表单重新提交页面出现,当我刷新页面时,主页会显示。会话数据“name”用于显示用户名,显示为空白。
我在所有控制器功能上使用以下代码来防止访问
if(!$this->user->is_logged_in()) {
redirect('user/login');
}
定义在模型中
public function is_logged_in()
{
return $this->session->userdata('logged_in') ? TRUE : FALSE;
}
请指导我解决此问题。
【问题讨论】:
标签: php codeigniter