Autorizzazioni in PHP
Spesso su un sito web non c'è un solo tipo di utente, ma diversi, e ognuno ha autorizzazioni differenti. Ad esempio, potresti avere utenti normali e amministratori. Gli amministratori avranno più autorizzazioni rispetto agli utenti normali.
Ecco come si implementa: creiamo un altro campo
nella tabella degli utenti, chiamiamolo
status e per ogni utente
memorizzeremo il suo stato: ad esempio, per gli amministratori
la parola 'admin', mentre per gli utenti normali
- la parola 'user'.
Ora, durante l'autenticazione dell'utente, in $_SESSION['status']
scriveremo lo stato dell'utente dal database:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // scriviamo lo stato
}
?>
Supponiamo ora che sul nostro sito ci sia una pagina a cui hanno accesso solo gli amministratori. Facciamo in modo che solo gli amministratori vedano il contenuto di questa pagina:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// mostriamo il contenuto della pagina solo agli amministratori
}
?>