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

Apa kelemahan dari metode otentikasi pengguna ini?

Bantulah diri Anda sendiri dan gunakan perpustakaan standar untuk hashing kata sandi Anda.

Karena keamanan cenderung jauh lebih rumit dan dengan kemungkinan gangguan yang lebih tidak terlihat daripada yang dapat ditangani sendiri oleh kebanyakan programmer, menggunakan pustaka standar hampir selalu merupakan opsi yang paling mudah dan paling aman (jika bukan satu-satunya) yang tersedia.

Perpustakaan standar :
Lihatlah:Kerangka kerja hashing kata sandi PHP portabel :phpass dan pastikan Anda menggunakan CRYPT_BLOWFISH algoritme jika memungkinkan.

contoh kode menggunakan phpass (v0.2):

require('PasswordHash.php');

$pwdHasher = new PasswordHash(8, FALSE);

// $hash is what you would store in your database
$hash = $pwdHasher->HashPassword( $password );

// $hash would be the $hashed stored in your database for this user
$checked = $pwdHasher->CheckPassword($password, $hash);
if ($checked) {
    echo 'password correct';
} else {
    echo 'wrong credentials';
}

PHPass telah diimplementasikan di beberapa proyek yang cukup terkenal:

  • phpBB3
  • WordPress 2.5+ serta bbPress
  • rilis Drupal 7, (modul tersedia untuk Drupal 5 &6)
  • lainnya

Hal baiknya adalah Anda tidak perlu khawatir tentang detailnya, detail tersebut telah diprogram oleh orang yang berpengalaman dan ditinjau oleh banyak orang di internet.

Apa pun yang Anda lakukan jika Anda memilih 'Saya akan melakukannya sendiri, terima kasih ' pendekatan, jangan gunakan MD5 lagi . Ini adalah algoritma hashing yang bagus, tetapi benar-benar rusak untuk tujuan keamanan .

Saat ini, menggunakan crypt , dengan CRYPT_BLOWFISH adalah praktik terbaik.
CRYPT_BLOWFISH di PHP adalah implementasi dari hash Bcrypt. Bcrypt didasarkan pada cipher blok Blowfish, memanfaatkan penyiapan kunci yang mahal untuk memperlambat algoritme.

Untuk informasi selengkapnya tentang skema penyimpanan sandi, Anda juga dapat membaca Jeff `s blog posting tentang itu:Anda Mungkin Salah Menyimpan Kata Sandi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat mengakses pengguna root MySql, bahkan setelah mengatur kata sandi melalui safemode di terminal linux

  2. Mengapa susunan default MySQL latin1_swedish_ci?

  3. Tutorial MySQL – Memahami Detik Dibalik Master Value

  4. Python:ModuleNotFoundError:Tidak ada nama Modul 'mysql'

  5. Apa itu kardinalitas di MySQL?