Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Phương pháp nào tốt hơn để xác thực thông tin đăng nhập của người dùng?

Vấn đề là… Bạn phải lưu trữ muối, băm mật khẩu trong cơ sở dữ liệu. Vì chúng được muối riêng mỗi người dùng / mật khẩu, bạn không thể tra cứu chúng trực tiếp bằng password = ? , bởi vì bạn không biết muối và do đó không thể tính toán trước hàm băm phù hợp. Nếu bạn đang làm điều này đúng cách, bạn phải tìm nạp bản ghi người dùng bằng tên người dùng trước, sau đó xác thực băm mật khẩu bằng cách sử dụng muối / băm đã truy xuất. Mã giả:

$user = fetch_from_database($_POST['username']);

if (!$user) {
    throw new Exception("User doesn't exist");
}

if (!password_verify($_POST['password'], $user['password_hash'])) {
    throw new Exception('Invalid password');
}

echo 'Welcome ', $user['name'];

Xem http://php.net/password_hash , http://php.net/password_verify .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cách nào hiệu quả hơn để tạo phân trang trong Hibernate hơn là thực hiện các truy vấn chọn và đếm không?

  2. Chèn dữ liệu vào MySql DB và hiển thị nếu quá trình chèn thành công hay thất bại

  3. Cách tìm các giá trị Hex nhất định và Giá trị Char () trong MySQL SELECT

  4. Mysql giải pháp cho các chức năng cửa sổ

  5. Cách xóa thủ tục đã lưu trữ trong MySQL