Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Metode mana yang lebih baik untuk memvalidasi kredensial pengguna?

Masalahnya adalah… Anda seharusnya menyimpan asin, hash kata sandi dalam database. Karena ini diasinkan satu per satu per pengguna/sandi, Anda tidak bisa cari langsung dengan password = ? , karena Anda tidak tahu garamnya dan karena itu tidak dapat menghitung hash yang cocok sebelumnya. Jika Anda melakukannya dengan benar, Anda harus ambil catatan pengguna dengan nama pengguna terlebih dahulu, lalu validasi hash kata sandi menggunakan garam/hash yang diambil. Kode semu:

$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'];

Lihat 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. Bagaimana menemukan kolom berbeda dalam subquery bersarang di SQL?

  2. Bagaimana saya memutuskan kapan harus menggunakan gabungan kanan/gabungan kiri atau gabungan dalam Atau bagaimana menentukan tabel mana yang berada di sisi mana?

  3. Pernyataan SQL untuk menulis tabel?

  4. Kesalahan Laravel classloader.php gagal membuka aliran:Tidak ada file atau direktori seperti itu

  5. Membuat GeoJson di php dari MySql untuk digunakan dengan API javascript MapBox