Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Saya Boleh Melindungi Kod Saya dengan Pencincangan Kata Laluan Menggunakan PDO?

Bagaimana Saya Boleh Melindungi Kod Saya dengan Pencincangan Kata Laluan Menggunakan PDO?

Susan Sarandon
Lepaskan: 2024-12-19 12:39:10
asal
642 orang telah melayarinya

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

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>";
Salin selepas log masuk

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
}
Salin selepas log masuk

Kelebihan Kata Laluan Hashing

  • Melindungi kata laluan yang disimpan daripada akses yang tidak dibenarkan
  • Menghalang meneka kata laluan yang mudah
  • Meningkatkan keselamatan keseluruhan sistem

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan