Права доступа на PHP

Чаще всего на сайте не один тип пользователей, а несколько и все они имеют разные права. К примеру, у вас могут быть обычные пользователи и админы. Админы будут иметь больше прав, чем обычные юзеры.

Каким образом это реализуется: создадим в таблице с юзерами еще одно поле, назовем его status и для каждого пользователя будем хранить его статус: пусть для администраторов слово 'admin', а для обычных пользователей - слово 'user'.

Теперь при авторизации пользователя в $_SESSION['status'] запишем статус пользователя из базы данных:

<?php if (password_verify($_POST['password'], $hash)) { $_SESSION['auth'] = true; $_SESSION['id'] = $user['id']; $_SESSION['status'] = $user['status']; // записываем статус } ?>

Пусть теперь у нас на сайте есть какая-то страница, к который имеют доступ только админы. Сделаем так, чтобы только админы видели контент этой страницы:

<?php if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') { // покажем контент страницы только админам } ?>



Чат с GPT Компилятор