@twe1n

Защита админ-панели на сайте php?

Друзья, посоветуйте способы защиты админки. Буду рад если скинете какие-то актуальные гайды.
В БД в таблице users есть столбец status хочу что бы доступ к разделу админов имели только юзеры с статусом 3,4,5 но не совсем понимаю как это реализовать.
  • Вопрос задан
  • 1165 просмотров
Пригласить эксперта
Ответы на вопрос 2
V1RR
@V1RR
Love to code
Если взять простой вариант решения этого - тебе нужно написать запрос, где проверяешь статус пользователя.

Распишу простенький пример, для простоты не берем в рассчет защиту от иньекций и т.п.
К примеру, тебе нужно открыть доступ пользователям только имеющим status = 4, тогда это может выглядеть наподобие этого.

К примеру, пользователь авторизируется через форму логина и отправляет свой логин и пароль. Ты их проверяешь и тянешь данные из базы. На живом примере еще нужно написать проверку на то, верные ли вообще данные введены и существует ли пользователь такой. Но тем не менее.

$r = mysqli_query($mysqli, "
  SELECT * FROM `users` 
  WHERE `email` = '$email' 
  AND `password` = '$password'
");
$f = mysqli_fetch_array($r);

if($f['status'] == '4') { // Если в поле status для текущего юзера у нас значение 4
  echo 'Разрешаем доступ, выполняем дальнешие действия по авторизации';
} else {
  echo 'Пользователю с вашим статусом доступ запрещен';
}
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
В БД в таблице users есть столбец status хочу что бы доступ к разделу админов имели только юзеры с статусом 3,4,5 но не совсем понимаю как это реализовать.

Если не понимаете, то не надо изобретать велосипед.
Возьмите какой-либо framework, там всё это реализовано. Изучите как это работает, а уж после этого приступайте к реализации собственного решения.
Начните с framework-ов YII2 или Laravel. Так же параллельно можете изучать этот материал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы