Menggunakan PDO dengan Pencincangan Kata Laluan untuk Meningkatkan Keselamatan Kod
Untuk melindungi kod PHP anda, adalah penting untuk menggunakan teknik pencincangan kata laluan. Elakkan bergantung pada kaedah yang terdedah seperti MD5, yang tidak mempunyai keselamatan. Pencincangan kata laluan melindungi kata laluan dengan menjana nilai unik dan tidak boleh balik yang melindungi kata laluan asal daripada dikompromi.
Dalam kod yang anda berikan, pencincangan kata laluan boleh dilaksanakan sebagai berikut:
Log Masuk:
$dbh = new PDO(...); $sql = "SELECT * FROM users WHERE username = :u AND password = :p"; $stmt = $dbh->prepare($sql); $stmt->bindParam(":u", $_POST['username']); $stmt->bindParam(":p", password_hash($_POST['password'], PASSWORD_DEFAULT)); $stmt->execute();
Daftar:
$dbh = new PDO(...); $username = $_POST["username"]; $email = $_POST["email"]; $password = password_hash($_POST["password"], PASSWORD_DEFAULT); $stmt = $dbh->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"); $stmt->bindParam(1, $username); $stmt->bindParam(2, $email); $stmt->bindParam(3, $password); $stmt->execute();
Nota: Ingat untuk menggunakan perpustakaan seperti "password-compat" atau "phpass" untuk keserasian dengan versi PHP yang lebih awal sebelum ini 5.5.
Atas ialah kandungan terperinci Bagaimanakah PDO dan Pencincangan Kata Laluan Boleh Meningkatkan Keselamatan Aplikasi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!