![]() |
|||||
Tutorial PHP | |||||
|
Home |
Tutorial PHP |
Art. # 6
Autenticazione di rete con PHP ed Apache
Vediamo in questo tutorial un sistema molto semplice per effettuare un login con PHP, sfruttando il servizio di autenticazione di rete del Web Server su cui viene eseguito, ovvero Apache. Non occorrà predisporre una pagina HTML con un form che chiederà username e password, dato che il modulo viene restituito direttamente dal Web Server sotto forma di finestra di dialogo. Creiamo dunque il file login.php ed inseriamo il seguente codice:
<?
session_start();
$user = "mia_username"; // SCEGLIERE LA USERNAME
$pass = "mia_password"; // SCEGLIERE LA PASSWORD
function finestra_login()
{
header("WWW-Authenticate: Basic realm=\"Autenticarsi...\"");
Header("HTTP/1.0 401 Unauthorized");
exit;
}
$sys_user = $_SERVER["PHP_AUTH_USER"];
$sys_pass = $_SERVER["PHP_AUTH_PW"];
if ((!isset($sys_user)) || (!isset($sys_pass)))
{
finestra_login();
}
else if (($sys_user == $user) && ($sys_pass == $pass))
{
$_SESSION["autenticato"] = "SI";
header("location: /pagina_privata.php");
}
else
{
finestra_login();
}
?>
Verrà restituito il seguente output: ![]() Per prima cosa apriamo la sessione di navigazione; definiamo poi le credenziali di accesso da utilizzare; creiamo una funzione che lanci la finestra di dialogo modoale per l'inserimento di username e password; recuperiamo le variabili di ambiente che, a loro volta, recuperano i valori inseriti nelle caselle di testo della finestra di dialogo (che permette, tra l'altro, di memorizzare l'accesso); verifichiamo che siano stati inseriti i dati e, se inseriti, che siano corretti; se non lo sono richiamiamo la finestra di dialogo modale attraverso la funzione che la genera, altrimenti creiamo una sessione ed indirizziamo l'utente verso la pagina protetta. La pagina protetta, pagina_privata.php, dovrà controllare per prima cosa che la sessione sia attiva, altrimenti inibirà l'accesso, come nell'esempio di codice che segue:
<?
session_start();
?>
<html><head>
<title>Pagina privata</title>
</head><body>
<?
if ($_SESSION["autenticato"] != "SI")
{
?>
<p>Accesso negato!!!</p>
<?
}
else
{
?>
<p>Contenuto privato...</p>
<?
}
?>
</body></html>
Scritto in data 19/12/2007 e modificato in data 24/12/2007
|
Appunti PHP per categoriaGuida PHP Guida MySQL Tutorial PHP Tutorial MySQL Tips and Tricks Referenze Download Libreria ExtraNovità
Un AdServer in PHP e MySQL
Hosting Linux su ConsultingWeb.it
Password casuali con PHP
Ottimizzare una tabella MySQL
Contatore grafico in PHP
Pagamento online con PayPal e PHP
Leggere i meta tag con PHP
Criptare le informazioni con la funzione crypt di PHP
Celle a colori alternati in PHP
Importare dati da CSV a MySQL
TagAJAX, Email, LAMP, Login, MS Access, MS Excel, MS Office, MS Word, PDF, phpMyAdmin, Statistiche, Upload, XML Corsi online
Corso PHP Altri corsi
Corso HTML Link utili
Contatore Gratis Siti amici
© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| | |||