disign | PHP: implementare una autenticazione HTTP | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/php-implementare-una-autenticazione-http-378-2-1.html

© Luca Frassineti

Programmazione 3.934 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 = https://www.dominio.tld'>");
}

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


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