Melindungi Kod dengan Pencincangan Kata Laluan menggunakan PDO
Walaupun kod yang disediakan mencapai fungsi, keselamatannya terjejas teruk. Untuk meningkatkan keselamatan, melaksanakan pencincangan kata laluan dengan PDO adalah penting.
Menggabungkan Pencincangan Kata Laluan ke dalam Kod Sedia Ada
Untuk menyepadukan pencincangan kata laluan, pertimbangkan untuk menggunakan perpustakaan yang bereputasi. Untuk PHP 5.5 gunakan password_hash(), PHP 5.3.7 mempunyai kata laluan-compat, manakala yang lain boleh memilih phpass. Elakkan membuat garam tersuai, kerana perpustakaan menguruskan proses ini dengan berkesan.
Melaksanakan Pencincangan untuk Pendaftaran
// 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>";
Menyemak Kata Laluan Dicincang untuk Log Masuk
// 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 }
Kelebihan Kata Laluan Hashing
Atas ialah kandungan terperinci Bagaimana Saya Boleh Melindungi Kod Saya dengan Pencincangan Kata Laluan Menggunakan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!