Как запретить прямой доступ к ссылкам в Code igniter - PullRequest
1 голос
/ 11 февраля 2011

Как запретить прямой доступ к ссылке в коде воспламенителя

Например

http://localhost/myapp/admin/displayUser

Ответы [ 4 ]

2 голосов
/ 05 апреля 2018

Создайте библиотеку как authenticate.php со следующим кодом и добавьте эту библиотеку в autoload.php

class Authenticate
{
    function Authenticate()
    {
        $CI = & get_instance(); 
        if ($CI->session->userdata('USERID') == "")
        {
            $redirectlink = 'contoller function path to your login page';
            redirect($redirectlink);   
            exit;
        }
    }
}
2 голосов
/ 11 февраля 2011

В CodeIgniter нет встроенной библиотеки аутентификации, хотя есть много хорошо разработанных сторонних. Я предпочитаю Ion Auth - http://benedmunds.com/ion_auth/.

Однако, если вы просто ссылаетесь на запрет доступа к некоторым «закрытым» методам контроллера, вам следует добавить подчеркивание в начало имени метода - это будет означать, что он недоступен через URL, только через другие методы контроллера:

function _myprivatemethod() {

    return true;
}
1 голос
/ 05 февраля 2014

Это не поможет вам, но может помочь кому-то еще.

Я сделал это, создав хук, который проверяет, вошел ли пользователь в систему.Если это не так, он перенаправляет их на домашний контроллер входа в систему.

if (!$this->session->userdata('logged_in')) {
        redirect('user/login');
}

Если вы создаете Auth_Controller, который расширяет CI Controller, тогда вместо расширения CI Controller вы можете заставить все ваши приложения расширять ваш новый Auth_Controller, чтобы они всегдаперенаправить, если пользователь не вошел в систему.

0 голосов
/ 09 сентября 2016
if (!$this->session->userdata('logged_in')) {
        redirect('user/login');
}

это будет отлично работать .. просто не забудьте также загрузить библиотеку сессий.

$this->load->library('session');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...