Autenticazione HTTP con PHP
L'altro giorno mi sono imbattuto in $_SERVER['PHP_AUTH_USER'], che ci permette di eseguire una autenticazione HTTP con PHP.
Non ho ben capito quando sarebbe meglio usare questa autenticazione rispetto al classico database, se non per cose molto "veloci" e easy.
Comunque è sempre una cosa in più da sapere.
Quindi vediamo un esempio:
$credenzali = array("matte" => "puffo");
$utentiValidi = array_keys($credenzali);
$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
$auth = (in_array($user, $utentiValidi)) && ($pass == $credenzali[$user]);
if (!$auth) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo "Non sei autorizzato";
} else {
echo "Ciao $user";
}
Come vedete le credenziali qui sono in chiaro; è giusto per fare un esempio basico.
In sostanza controlliamo che il nome utente sia nell'array degli utenti ammessi; e che quel nome corrisponda alla password indicata.
Enjoy!
php http php_auth_user php_auth_pw
Commentami!