Maison > développement back-end > tutoriel php > Comment puis-je sécuriser mon code avec le hachage de mot de passe à l'aide de PDO ?

Comment puis-je sécuriser mon code avec le hachage de mot de passe à l'aide de PDO ?

Susan Sarandon
Libérer: 2024-12-19 12:39:10
original
640 Les gens l'ont consulté

How Can I Secure My Code with Password Hashing Using PDO?

Sécurisation du code avec hachage de mot de passe à l'aide de PDO

Bien que le code fourni atteigne la fonctionnalité, sa sécurité est gravement compromise. Pour améliorer la sécurité, la mise en œuvre du hachage de mot de passe avec PDO est cruciale.

Incorporation du hachage de mot de passe dans le code existant

Pour intégrer le hachage de mot de passe, envisagez d'utiliser des bibliothèques réputées. Pour PHP 5.5, utilisez password_hash(), PHP 5.3.7 est compatible avec les mots de passe, tandis que d'autres peuvent opter pour phpass. Évitez de créer du sel personnalisé, car les bibliothèques gèrent ce processus efficacement.

Mise en œuvre du hachage pour l'enregistrement

// Establish PDO connection...

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT); // Hashes password

$stmt = $dbh->prepare("insert into users set username=?, email=?, password=?");
$stmt->execute([$username, $email, $hash]);
echo "<p>Registration successful</p>";
Copier après la connexion

Vérification des mots de passe hachés pour la connexion

// Establishing PDO connection...

$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $dbh->prepare($sql);
$result = $stmt->execute([$_POST['username']]);
$users = $result->fetchAll();
if (isset($users[0]) {
    if (password_verify($_POST['password'], $users[0]->password)) {
        // Valid login
    } else {
        // Invalid password
    }
} else {
    // Invalid username
}
Copier après la connexion

Avantages du mot de passe Hachage

  • Protège les mots de passe stockés contre les accès non autorisés
  • Empêche de deviner facilement les mots de passe
  • Améliore la sécurité globale du système

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal