Password sicure: hash e verify

PHP offre funzioni native per gestire password in modo sicuro.

Hash della password

// Durante la registrazione
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);
// Salva $hash nel database

Verifica password

// Durante il login
$password = $_POST["password"];
$hash = $user["password"]; // Dal database

if (password_verify($password, $hash)) {
    echo "Password corretta!";
} else {
    echo "Password errata";
}

Rehash se necessario

if (password_needs_rehash($hash, PASSWORD_DEFAULT)) {
    $newHash = password_hash($password, PASSWORD_DEFAULT);
    // Aggiorna nel database
}

MAI fare

  • Salvare password in chiaro
  • Usare MD5 o SHA1 per password
  • Creare algoritmi di hash custom

Hai trovato utile quest'articolo?

  • Introduzione a PHP

    PHP (PHP: Hypertext Preprocessor) è un linguaggio di scripting server-side usato per lo sviluppo web...
  • Variabili PHP

    Le variabili in PHP iniziano sempre con il simbolo dollaro $.Dichiarazione$nome = "Mario"; $eta = 30...
  • Stringhe in PHP

    Le stringhe sono sequenze di caratteri racchiuse tra virgolette.Virgolette singole vs doppie$nome = ...
  • Array in PHP

    Gli array permettono di memorizzare più valori in una singola variabile.Array indicizzati$frutti = [...
  • Operatori PHP

    Gli operatori PHP permettono di eseguire operazioni su variabili e valori.Operatori aritmetici$a + $...