Безопасный скрипт страницы с Codeigniter. Я на правильном пути? - PullRequest
0 голосов
/ 25 ноября 2011

Я создаю функцию для защиты моих страниц администратора, если пользователь не вошел в систему. Я делаю это правильно. Следующая функция включена на всех моих страницах администратора.

Что еще я должен проверить, прежде чем дать доступ к моим страницам администратора для безопасной страницы ??

    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);
       } 
}

1 Ответ

1 голос
/ 26 ноября 2011

С кодом, который у вас есть, есть возможность предоставления разрешения без намерения. Это маловероятно, но если по какой-то причине в вашем коде где-то есть логическая ошибка (не синтаксическая ошибка), если # 1, вы не перенаправлены, а остальные 2 не работают.

Я предлагаю использовать if.. elseif.. elseif.. else. И, наконец, еще одно - перенаправление на вход в систему, как отказоустойчивое.

Вы также можете проверить длину входа в систему (или просто использовать встроенную длину сеанса CI).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...