我有以下措施来保护管理部分:
- 在会议内部,我有以下部分:
is_logged_in -> 这可以是 0 或 1
admin -> 检查用户是否为管理员(值为 0 或 1)
在管理控制器或与网站管理有关的控制器中的任何函数之前,我调用函数来检查用户是否已登录并且他是管理员吗?这够了吗?如果不是,我该怎么做才能使管理部分更安全?
我有以下措施来保护管理部分:
is_logged_in -> 这可以是 0 或 1
admin -> 检查用户是否为管理员(值为 0 或 1)
在管理控制器或与网站管理有关的控制器中的任何函数之前,我调用函数来检查用户是否已登录并且他是管理员吗?这够了吗?如果不是,我该怎么做才能使管理部分更安全?
一种简单的会话形式是
$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
你应该在这里查看 Phil Sturgeon 的博客文章
当您有一个需要单独身份验证的整个部分时,扩展 CI_Controller 将为您节省大量代码并使事情变得更加简洁。