Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah `password_hash()` dan `password_verify()` PHP 5.5 Boleh Menyimpan dan Mengesahkan Kata Laluan Pengguna dengan Selamat?

Bagaimanakah `password_hash()` dan `password_verify()` PHP 5.5 Boleh Menyimpan dan Mengesahkan Kata Laluan Pengguna dengan Selamat?

Susan Sarandon
Lepaskan: 2024-12-23 04:00:14
asal
232 orang telah melayarinya

How Can PHP 5.5's `password_hash()` and `password_verify()` Securely Store and Verify User Passwords?

Penyimpanan dan Pengesahan Kata Laluan dengan PHP 5.5

Apabila melindungi kata laluan pengguna, adalah penting untuk menggunakan teknik penyulitan yang teguh untuk menghalang akses tanpa kebenaran. PHP 5.5 memperkenalkan fungsi password_hash() dan password_verify() untuk tujuan ini, menawarkan penyelesaian yang mudah dan selamat untuk pengendalian kata laluan.

Storan Kata Laluan yang Betul

Kod yang disediakan menunjukkan pendekatan yang salah untuk penyimpanan kata laluan. Anda tidak seharusnya menyimpan garam secara berasingan tetapi menyimpan kedua-dua hash dan garam. Fungsi password_hash() menjana rentetan yang menggabungkan kedua-dua elemen.

Cara yang betul untuk menyimpan kata laluan ialah:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into the database
Salin selepas log masuk

Pengesahan Kata Laluan

Untuk mengesahkan kata laluan, dapatkan semula $hashAndSalt yang disimpan sebelum ini daripada pangkalan data dan gunakannya dengan password_verify() fungsi:

if (password_verify($password, $hashAndSalt)) {
    // Verified
}
Salin selepas log masuk

Pertimbangan Keselamatan Tambahan

Walaupun fungsi password_hash() menyediakan mekanisme penyimpanan kata laluan yang selamat, adalah penting untuk mematuhi amalan terbaik keselamatan yang lain. Pertimbangkan untuk menggunakan:

  • sambungan mysqli dan bukannya mysql (ditamatkan dalam PHP5.5)
  • Pengesahan input untuk menghalang suntikan SQL

Atas ialah kandungan terperinci Bagaimanakah `password_hash()` dan `password_verify()` PHP 5.5 Boleh Menyimpan dan Mengesahkan Kata Laluan Pengguna dengan Selamat?. 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