Přístupová práva v PHP
Na webu bývá často více typů uživatelů, kteří mají různá práva. Například můžete mít běžné uživatele a administrátory. Administrátoři budou mít více práv než obyčejní uživatelé.
Jak se to implementuje: vytvoříme v
tabulce s uživateli další pole, nazveme jej
status a pro každého uživatele
budeme ukládat jeho status: pro administrátory
nechť je to 'admin', a pro běžné uživatele
- 'user'.
Nyní při autorizaci uživatele zapíšeme do $_SESSION['status']
status uživatele z databáze:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // zapíšeme status
}
?>
Předpokládejme, že na našem webu je stránka, ke které mají přístup pouze administrátoři. Zařídíme, aby obsah této stránky viděli pouze administrátoři:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// zobrazíme obsah stránky pouze administrátorům
}
?>