Права за достъп в 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') {
// ще покажем съдържанието на страницата само на администратори
}
?>