我有以下措施,確保管理部分網站的管理部分:笨2.1 - 安全爲
- 內部會議上,我有以下幾個部分:
is_logged_in - >這可以是0或1
管理員 - >檢查用戶是否是管理員或不(值是0或1)
在管理控制器或控制器內部與管理網站有關的任何功能之前,我會調用函數來檢查用戶是否已登錄並且他是管理員?這夠了嗎?如果不是,我可以做些什麼來使管理員部分更安全?會議
我有以下措施,確保管理部分網站的管理部分:笨2.1 - 安全爲
is_logged_in - >這可以是0或1
管理員 - >檢查用戶是否是管理員或不(值是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
你應該看看菲爾鱘魚的博客文章here
當你有一個完整的部分,需要獨立的身份驗證,擴展是CI_Controller會爲您節省大量的代碼,使事情更清潔。
沒有答案,但可能對你有用:你看過嗎? http://stackoverflow.com/questions/3819275/what-is-the-best-practice-for-restricting-specific-pages-to-logged-in-users-only – Kamil
所以你只設置一次&檢查它每一頁?如果這就是你正在做的事情,那麼這是不安全的。您必須從數據庫中提取這些值(將會話存儲在db&query中以確保session_id()== $ db-> session_id,並確保從db中檢索is_admin標誌)以這種方式,您可以隨時隨地將用戶踢出去。 – ahmad