Intereting Posts
Изменение имени переменной (нумерация) или добавление чисел в переменную в порядке возрастания для присвоения значений Woocommerce – Предотвращение Добавление предметов из двух разных категорий в корзину Автосохранение ввода формы с использованием прототипа и PHP Как использовать preg_replace, чтобы добавить один час к значению времени? Вычитание определенного количества часов, дней, месяцев или лет с даты Войдите в файловую систему или базу данных? Передавать переменное число переменных в класс в PHP Как получить класс вместо массива в Doctrine 2 php – помочь повысить эффективность этого генератора url в стиле YouTube Найдите, используется ли изображение в любом месте Как проверить, существует ли элемент с SimpleXML? mySQL выберите столбец MONTH Как я могу предоставить страницу с ошибкой в ​​структуре Slim, когда исключение выбрасывается за пределы маршрута? Максимальное время выполнения в phpMyadmin PHP 5.2 Функция, необходимая для сортировки массива записей GENERIC

Невозможно ограничить действия пользователя после успешного входа в codeigniter

У меня есть процесс входа в систему, когда пользователь может просмотреть свою панель после входа в систему.

Код в контроллере:

$adminid = $this->am->login_admin($email, $password); if ($adminid) { $admin_data = array( 'adminid' => $adminid, 'email' => $email, 'logged_in' => true, 'loggedin_time' => time() ); $this->session->set_userdata($admin_data); $this->session->set_flashdata('login_success', 'You are logged in'); redirect('Admin_dashboard/dashboard/' . $adminid); } else { $this->session->set_flashdata('login_failed', 'Invalid login!!'); redirect('admin/index'); } 

После успешного входа пользователь перенаправляется на следующий URL-адрес

 localhost/project/Admin_dashboard/dashboard/1 

Проблема в том, что если пользователь вручную изменит URL-адрес на что-то вроде этого –

 localhost/project/Admin_dashboard/dashboard/2 

он может получить доступ к данным пользователя с идентификатором 2 без входа в систему

Чтобы решить проблему, я попытался использовать следующее кодирование в представлении

 <?php if($this->session->userdata('logged_in')): ?> <? endif; ?> 

Однако второй URL-адрес все еще доступен

После входа в систему пользователь перенаправляется на панель мониторинга, которая также содержит несколько других страниц, таких как страница профиля, страница оплаты и т. Д., Которая содержит данные, относящиеся только к нему.

Я хочу, чтобы после входа в систему он мог видеть все свои страницы, но не другие данные, изменяя URL-адрес