我有以下措施来保护管理员部分:
is_logged_in - >这可以是0或1
管理员 - >检查用户是否为admin(值为0或1)
在管理控制器或控制器中与网站管理有关的任何功能之前,我调用函数检查用户是否已登录并且是否为管理员?这够了吗?如果不是,我该怎么做才能使管理部分更安全?
答案 0 :(得分:3)
一种简单的会话形式是
$data = array(
"admin" => $username,
"is_logged_in" => true
);
$this->session->set_userdata($data);
但你也可以在会话中存储id(如果你需要的话)或其他东西。
如果你想检查它,你可以这样做
if (!isset($this->session->userdata['admin'])) {
redirect('admin/login'); // for example
}
我更喜欢将数据库存储在会话中。
更多信息,请阅读 http://ellislab.com/codeigniter/user-guide/libraries/sessions.html
答案 1 :(得分:2)
你应该查看Phil Sturgeon的博客文章here
如果您有一个需要单独身份验证的整个部分,那么扩展CI_Controller将为您节省大量代码并使事情变得更加清晰。