Realizzazione by siti.web.firenze e web.at.work

contatti
realizzazione siti web

PHP verificare username e password

Per validare username e password (per esempio in uno script che esamina l'input di una form HTML di login) due sono gli standard de facto nel Web: Per questa ragione lo username deve essere confrontato senza distinguere tra lettere maiuscole e minuscole. Questo può essere fatto sia utilizzando strcasecmp() (per questo si veda la sezione precedente) o convertendo prima in lettere minuscole (o maiuscole) la password inserita e validandola successivamente con la password reale. Questo risultato si ottiene attraverso la funzione strtolower() o strtoupper(). Il codice precedente mostra un esempio di utilizzo di strcmp()/strcasecmp()e anche dell'operatore di comparazione ===.

<?php
$user = (isset($_GET['user'])) ? $_GET['user'] : '';
$pass = (isset($_GET['pass'])) ? $_GET['pass'] : '';

if (
(strtolower($user) === 'damon' && $pass === 'secret') ||
(strtoupper($user) === 'SHELLEY' && $pass === 'verysecret') ||
(strcasecmp($user, 'Christian') == 0 && strcmp($pass, 'topsecret') == 0)
) {
echo 'Login successful.';
} else {
echo 'Login failed.';
}
?>

In base ai dati inseriti nella URL (Uniform Resource Locator) della chiamata dello script, l'operazione di login può andar a buon fine o meno. La URL che segue conclude con successo l'operazione di login (è necessario cambiare la porzione relativa al servername):

http://servername/comparelogin. php?user=cHRISTIAN&&pass=topsecret

Al contrario, l'esempio di login seguente non si conclude con successo:

http://servername/comparelogin. php?user=Christian&&pass=TopSecret

Attenzione

Fornire username e password attraverso GET non è una buona prassi; al contrario viene normalmente preferito POST. Nonostante questo, nell'esempio si utilizza GET con la finalità di testare quello che è stato spiegato.

 

separatore

Informazioni sull'autore

Sergio Ferraiolo

foto
Descrizione:

Web Master di webdesignfirenze.com, titolare di web.at.work che ha realizzato il sito.

Mansioni: Programmatore, web designer e Analista