Registrazione con separazione dei privilegi in PHP
Quando si aggiungono i privilegi degli utenti, dobbiamo apportare
modifiche alla nostra procedura di registrazione. Ora, durante la registrazione
di un utente, dobbiamo specificare
il suo stato nella richiesta INSERT.
Di solito, durante la registrazione iniziale, tutti gli utenti
del nostro sito ricevono lo stato più basso,
cioè nel nostro caso 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Gli stati più elevati di solito vengono assegnati dall'amministratore. Nella zona di amministrazione vede l'elenco degli utenti e può rendere chiunque, ad esempio, un amministratore.
Come apparirà allora il primo amministratore sul sito? Il modo più semplice: registrare un utente normale e tramite PhpMyAdmin renderlo amministratore.
Più complesso: al primo avvio sull'hosting eseguire l'installazione del sito, chiedere tramite un modulo nome utente e password e registrare l'utente proprio primo del sito, assegnandogli lo stato di amministratore.
Modificate il codice di registrazione in modo che tutti gli utenti aggiunti
ricevano lo stato 'user'.
Modificate manualmente lo stato di un utente
in 'admin'. Autenticatevi
con questo utente.
Create una pagina admin.php, alla quale
potranno accedere solo gli utenti con
stato 'admin'.
Visualizzate sulla pagina admin.php l'elenco
di tutti gli utenti registrati sul vostro
sito sotto forma di tabella. La tabella dovrebbe avere
due colonne: nome utente e stato.
Modificate il compito precedente in modo che appaia una terza colonna, con un link, tramite il quale l'amministratore possa eliminare qualsiasi utente.
Modificate il compito precedente in modo che le righe della tabella con gli amministratori siano colorate in rosso, e quelle degli utenti normali - in verde.
Modificate il compito precedente in modo che appaia un'altra colonna. In questa colonna l'amministratore potrà cambiare i privilegi degli utenti. Fate in modo che per tutti gli utenti normali ci sia un link rendi amministratore, e per gli amministratori - un link rendi utente.
Fate in modo che su tutte le pagine del sito, nell'header, l'utente registrato veda il proprio nome utente e stato.
Modificate il compito precedente in modo che per gli amministratori nell'header del sito venga mostrato anche un link all'area di amministrazione.