Codeigniter 2.1 - 网站管理员部分的安全性

时间:2013-02-04 21:34:28

标签: php codeigniter codeigniter-2

我有以下措施来保护管理员部分:

  • 内部会议我有以下部分:

is_logged_in - >这可以是0或1

管理员 - >检查用户是否为admin(值为0或1)

在管理控制器或控制器中与网站管理有关的任何功能之前,我调用函数检查用户是否已登录并且是否为管理员?这够了吗?如果不是,我该怎么做才能使管理部分更安全?

2 个答案:

答案 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将为您节省大量代码并使事情变得更加清晰。