Drepturi de acces în PHP
Cel mai adesea, pe un site nu există un singur tip de utilizator, ci mai mulți, și toți au drepturi diferite. De exemplu, puteți avea utilizatori obișnuiți și administratori. Administratorii vor avea mai multe drepturi decât utilizatorii obișnuiți.
Cum se implementează acest lucru: vom crea în
tabelul cu utilizatori un câmp suplimentar, îl vom numi
status și pentru fiecare utilizator
vom stoca statutul său: să fie pentru administratori
cuvântul 'admin', iar pentru utilizatorii obișnuiți
- cuvântul 'user'.
Acum, la autentificarea utilizatorului, în $_SESSION['status']
vom scrie statutul utilizatorului din baza de date:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // scriem statutul
}
?>
Să presupunem acum că avem o pagină pe site la care au acces doar administratorii. Să facem astfel încât doar administratorii să vadă conținutul acestei pagini:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// afișăm conținutul paginii doar administratorilor
}
?>