首頁 >後端開發 >php教程 >如何使用 PDO 透過密碼雜湊來保護我的程式碼?

如何使用 PDO 透過密碼雜湊來保護我的程式碼?

Susan Sarandon
Susan Sarandon原創
2024-12-19 12:39:10643瀏覽

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

使用 PDO 透過密碼雜湊來保護程式碼

雖然提供的程式碼實現了功能,但其安全性受到嚴重損害。為了增強安全性,使用 PDO 實作密碼雜湊至關重要。

將密碼雜湊合併到現有程式碼中

要整合密碼哈希,請考慮使用信譽良好的函式庫。對於 PHP 5.5,請使用password_hash(),PHP 5.3.7 具有密碼相容功能,而其他版本則可以選擇 phpass。避免創建自訂鹽,因為圖書館可以有效管理此流程。

實作註冊雜湊

// 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>";

檢查登入的雜湊密碼

// 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
}

密碼的優點雜湊

  • 保護儲存的密碼免遭未經授權的存取
  • 防止簡單的密碼猜測
  • 增強系統的整體安全性

以上是如何使用 PDO 透過密碼雜湊來保護我的程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn