Autenticazione HTTP con PHP

Mattepuffo's logo
Autenticazione HTTP con PHP

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!


Condividi

Commentami!