disign.it | PHP: implementare una autenticazione HTTP | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.907 visualizzazioni

PHP: implementare una autenticazione HTTP

26/04/2012

Avete un'area web che non deve essere accessibile da tutti e non deve essere indicizzabile da Google o da altri motori di ricerca e non avete particolari esigenze di dfferenziare l'accesso, oppure non avete la possibilità di utilizzare database?
Con PHP possiamo impostare un'autenticazione via http molto semplice.

Lo script va posizionato in testa al documento (se le pagine sono diverse è utile creare un file esterno da includere) e personalizzato in tre elementi: lo user name (variabile $user), la password (variabile $pass), il reindirizzamento qualora l'accesso non sia autenticato (nell'esempio impostato su www.dominio.tld).

 

Ecco lo script:

 

function error($error_message) {
echo $error_message."<br />";
exit;
}

#Specifichiamo username e password

$user = "nome-utente";
$pass = "password";

#Se la variabile PHP_AUTH_USER non è settata...
#Chiediamo al browser dell'utente di aprire la finestra di login
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header("WWW-Authenticate: Basic realm=\"Effettua il Login!\"");
header("HTTP/1.0 401 Unauthorized");
exit;
}

#Verifichiamo se il Login è corretto...

else if (($_SERVER['PHP_AUTH_USER'] == $user) && ($_SERVER['PHP_AUTH_PW'] == $pass))
{
echo "ok";
}

#Se il Login non è corretto...

else
{
echo "<h1>Acesso non autorizzato!</h1>";
error("<meta http-equiv='refresh' content='2; URL = http://www.dominio.tld'>");
}

← Windows: aggiungere command prompt menu contestuale cartelle Htaccess: processare file solo se non esistenti →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.