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

PHP password_verify tidak bekerja melawan database

\n di baris berikut, menyematkan jeda baris, (Edit:salah satu yang tidak dapat dimasukkan dalam sandi yang dimasukkan pengguna) .

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";

dan Anda perlu menghapusnya dan memulai kembali dengan hash baru.

Jay Blanchard , anggota di sini di Stack mengirimkan catatan tentang itu tidak terlalu lama juga di password_hash() manual, yang merupakan sesuatu yang dia dan saya bicarakan.

Opsi lainnya adalah menggunakan trim() ; yang juga berfungsi (pada saat hashing).

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after

Namun Anda masih harus memulai dari awal dengan menghapus hash lama dan membuat hash baru.

Namun, perlu diingat bahwa Anda tidak boleh menghindari kata sandi.

Salah satunya seperti 123'\abc (yang benar-benar valid) akan diubah menjadi 123\'\abc oleh real_escape_string() ; itu tidak diperlukan. password_verify() menanganinya, dari segi keamanan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php - Instalasi PHP Anda tampaknya kehilangan ekstensi MySQL yang diperlukan oleh WordPress

  2. Cara Meningkatkan Kinerja Kueri dengan banyak GABUNG

  3. mysql Hitung beberapa kemunculan entri multipleks

  4. sesuatu tentang ansi_nulls

  5. berhenti memasukkan data ke dalam database saat menyegarkan halaman