如果用户未登录,我正在创建一个保护管理页面的功能。我是否以正确的方式进行操作。我的所有管理页面都包含以下功能。
在让我的管理页面访问安全页面之前,我还应该检查什么?
function is_logged_in_admin()
{
$CI =& get_instance();
$is_logged_in = $CI->session->userdata('is_logged_in');
$username = $CI->session->userdata('username');
$status = $CI->session->userdata('status');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect('auth/login',location);
}
if(!$username == 'myeswr')
{
redirect('auth/login',location);
}
if(!$status == '1')
{
redirect('auth/resend_activation',location);
}
}
答案 0 :(得分:1)
使用此处的代码,可以无意地授予权限。它不太可能,但如果出于某种原因,在代码中某处存在逻辑错误(不是语法错误),如果#1,则不会重定向,而另外2个会失败。
我建议使用if.. elseif.. elseif.. else
。最后一个是重定向登录,作为故障安全。
您可能还想检查登录长度(或仅使用CI的内置会话长度)。