2017-01-07 2 views
0

Давайте сказал, что я 2 страницы «LowAdmin» и «Вход»Как Предотвратить Direct URL Access В Codeigniter

Я хочу, чтобы предотвратить пользователь от экранного «LowAdmin» прямо из URL. Вместо этого я хочу перенаправить их на страницу «Логин».

У меня проблема с объяснением моих страниц для моего учителя, потому что он обращается к LowAdmin вместо страницы входа.

Любой может помочь? Я почти закончил этот заключительный проект.

+0

Используйте сеанс для перенаправления. Сначала проверьте, установлен ли сеанс или нет, если нет, то перенаправление. Вы знаете, как использовать сеансы в CodeIgniter. –

+0

@GeordyJames Я установил сеанс для моей страницы входа, но он использует базу данных, такую ​​как имя пользователя и пароль, есть ли способ сделать сеанс без него? Потому что я не знаю –

+0

Bro вам нужен переадресация сеанса в конструкторе контроллера LowAdmin, как это, если (empty ($ _ SESSION ['adminuser'])) { redirect ('login'); } –

ответ

2

путем анализа кода проекта в GitHub вы можете перенаправить, изменив конструктор функции LowAdmin контроллера, как это.

function __construct(){ 
    parent::__construct();  

    $loginstatus = $this->session->userdata('status'); 
      if($loginstatus!="login2"){ 
      redirect(base_url("login")); 
    } 

    $this->load->model('project_model');   
} 

Просьба прокомментировать нижеследующее, если у вас возникли проблемы.

+0

Спасибо! Это сработало –

+0

Отлично. Если мой код работает, отметьте его как ответ на этот вопрос, чтобы все с подобными проблемами могли попробовать этот метод –

0

По сессии вы можете сделать это. Например

public function index() 
{ 
      $this->load->library('session'); 
      $admindata = $this->session->userdata('admin'); 
       if($admindata){ 

      $this->load->view('admin/dashboard'); 
          }else{ 
      redirect('admin/login'); 
          } 
} 
Смежные вопросы