Keselamatan Kata Laluan dengan PHP 5.5's password_hash dan Password_verify Fungsi
Pertanyaan:
Apabila menyimpan kata laluan dengan selamat menggunakan PHP 5.5 's password_hash() fungsi, adakah wajar untuk hanya menyimpan garam dalam pangkalan data?
Jawapan:
Tidak. Untuk keselamatan kata laluan yang dipertingkatkan, adalah penting untuk menyimpan kedua-dua cincang dan garam dalam pangkalan data. password_hash dengan mudah menjana rentetan yang merangkumi kedua-dua elemen.
Syor:
Untuk melaksanakan storan kata laluan selamat:
-
Generasi: Gunakan password_hash() untuk mencipta kata laluan yang dicincang: $hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
-
Storage: Masukkan $hashAndSalt ke dalam pangkalan data untuk pengguna yang sepadan.
-
Pengesahan: Untuk mengesahkan a kata laluan yang diserahkan, dapatkan $hashAndSalt yang disimpan daripada pangkalan data dan gunakan password_verify(): password_verify($password, $hashAndSalt)
Pertimbangan Tambahan:
-
Amalan Keselamatan: Gunakan mysqli dan bukannya yang ketinggalan zaman ext/mysql untuk diperbaiki keselamatan.
-
SQL Injection Prevention: Fahami dan kurangkan risiko suntikan SQL dengan mengikuti amalan terbaik (cth., pernyataan yang disediakan).
Atas ialah kandungan terperinci Sekiranya Saya Hanya Menyimpan Garam Apabila Menggunakan `password_hash()` PHP 5.5 untuk Keselamatan Kata Laluan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!