Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah PDO dan Pencincangan Kata Laluan Boleh Meningkatkan Keselamatan Aplikasi PHP?

Bagaimanakah PDO dan Pencincangan Kata Laluan Boleh Meningkatkan Keselamatan Aplikasi PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-09 01:44:10975semak imbas

How Can PDO and Password Hashing Improve PHP Application Security?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn