Verificare username e password in PHP.

Obiettivo del tutorial: Approfondire la conoscenza delle funzioni PHP per la comparazione di stringhe: strcmp() e strcasecmp() utilizzandole nell’esempio che verificare username e password in PHP.

In questo tutorial PHP vediamo come realizzare uno script PHP per la validazione di username e password.

Supponiamo di voler verificare username e password inseriti in un form di login HTML.

Due standard de facto presenti sul web sono:

  • Lo username non è case sensitive
  • La password è case sensitive

Per poter fare uno script di validazione fedele agli standard che comunemente si trovano sul web possiamo utilizzare la funzione strcasecmp() per la comparazione degli username e strcmp() per la comparazione delle password.

Supponendo che il form HTML passi i dati allo script utilizzando il metodo GET (nota: non è una buona idea passare dati sensibili con il metodo GET) possimamo utilizzare lo script di seguito per la validazione:

<?php
  //recupero user e pass dal form di login
  $user = (isset($_GET['user'])) ? $_GET['user'] : '';
  $pass = (isset($_GET['pass'])) ? $_GET['pass'] : '';

  //verifico user e pass
  if ((strcasecmp($user, 'webSPAZIO') == 0 
              && strcmp($pass, 'Secret') == 0)
  ) {
    echo 'Login effettuto.';
  } else {
    echo 'Login fallito.';
  }
?>

nota che la password è case sensitive, quindi deve essere scritta con la ‘S’ di secret maiuscola, lo user invece non è case sensitive.

Notate in alto, nella barra degli indirizzi del browser, come utilizzando il metodo GET per passare i dati questi siano visibili nell’indirizzo. Vedrete una cosa simile a:

https://www.webspazio.it/tutorial_php/verifica_form.php?user=webspazio&pass;=Secret