Thực hành chung như sau:
- Tìm nạp
password
băm từ cơ sở dữ liệu nơiusername
=tên người dùng đã nhập. - Nếu các hàng được tìm thấy, thì có một người dùng
- Bây giờ, bạn so sánh mật khẩu đã nhập với mã băm được lưu trữ trong cơ sở dữ liệu.
Tôi sẽ phác thảo quy trình ở trên trong một số mã giả cho bạn tại đây:
$query = SELECT password FROM users WHERE username = '$username'
$data = FETCH_THE_DATA($query);
if(password_verify($USER_INPUTTED_PASSWORD, $data['password'])) {
// password is correct
} else {
// password is in-correct
}
Ghi chú
- Ngừng sử dụng
mysql_*
chức năng. Thư viện không được dùng nữa vì nó không đáng tin cậy và sẽ bị xóa trong các bản phát hành PHP trong tương lai.- Tốt hơn hết bạn nên sử dụng PDO hoặc Câu lệnh chuẩn bị trước của MySQL
- Bạn nên luôn đọc hướng dẫn sử dụng -
password_verify()
, nó nêu rõ rằng bạn so sánh "mật khẩu do người dùng nhập" với phiên bản băm được lưu trữ trong cơ sở dữ liệu của bạn.