Meningkatkan Keselamatan Pangkalan Data dengan Pencincangan Kata Laluan dan PDO
Melindungi maklumat sensitif, seperti kata laluan, adalah penting dalam pembangunan perisian moden. Kaedah tradisional seperti MD5 tidak lagi selamat, mendorong keperluan untuk penyelesaian yang mantap seperti pencincangan kata laluan.
Menggabungkan pencincangan kata laluan ke dalam kod anda menggunakan PDO ialah proses mudah yang meningkatkan keselamatan dengan ketara. Daripada menyimpan kata laluan dalam teks biasa, kata laluan itu ditukar kepada cincang selamat, menjadikannya hampir mustahil untuk dinyahsulit.
Begini cara anda boleh melaksanakan pencincangan kata laluan dalam kod PHP anda:
Log masuk Skrip:
$dbh = new PDO(...); $sql = "SELECT * FROM users WHERE username = :u"; $query = $dbh->prepare($sql); $params = array(":u" => $_POST['username']); $query->execute($params); $results = $query->fetchAll(); if (count($results) > 0) { $firstrow = $results[0]; if (password_verify($_POST['password'], $firstrow['password'])) { // valid login } else { // invalid password } } else { // invalid username }
Daftar Skrip:
$dbh = new PDO(...); $username = $_POST["username"]; $email = $_POST["email"]; $password = $_POST["password"]; $hash = password_hash($password, PASSWORD_DEFAULT); // Hash password $stmt = $dbh->prepare("insert into users set username=?, email=?, password=?"); $stmt->execute([$username, $email, $hash]);
Perpustakaan seperti password_compat atau phpass boleh memudahkan pencincangan kata laluan, memastikan penjanaan garam yang betul dan mengurangkan kelemahan keselamatan.
Dengan menyepadukan pencincangan kata laluan ke dalam kod PDO anda, anda' akan meningkatkan keselamatan aplikasi anda dengan ketara, melindungi kelayakan pengguna daripada yang tidak dibenarkan akses.
Atas ialah kandungan terperinci Bagaimanakah PDO dan Pencapaian Kata Laluan Boleh Meningkatkan Keselamatan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!