Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `password_verify` PHP Mengembalikan Palsu?

Mengapakah `password_verify` PHP Mengembalikan Palsu?

Linda Hamilton
Lepaskan: 2024-12-04 03:18:12
asal
538 orang telah melayarinya

Why is PHP's `password_verify` Returning False?

Menyelesaikan Masalah Kata Laluan_Sahkan Mengembalikan Palsu

Memandangkan anda menggunakan PHP 5.5 untuk mengesahkan kata laluan yang dicincang dengan password_verify, adalah penting untuk menyiasat kemungkinan sebab kerana palsu yang tidak dijangka return.

Pertimbangan Panjang Lajur

Satu isu biasa dengan password_verify berpunca daripada panjang kata laluan cincang yang disimpan dalam pangkalan data. Manual ini mengesyorkan untuk menyimpan kata laluan cincang dalam lajur yang boleh memuatkan lebih daripada 60 aksara, dengan 255 sebagai pilihan yang optimum. Jika lajur pangkalan data anda terlalu pendek untuk menampung kata laluan cincang yang dijana oleh fungsi pencincang kata laluan PHP, ia boleh menyebabkan keputusan pengesahan yang salah.

Oleh itu, sahkan lajur pangkalan data anda mempunyai panjang yang mencukupi untuk menyimpan kata laluan yang dicincang. Jika lajur memang terlalu pendek, kembangkannya kepada saiz yang sesuai (cth., 255 aksara) dan pastikan kata laluan cincang yang disimpan dikemas kini dengan sewajarnya.

Petua Penyelesaian Masalah Tambahan

Melebihi panjang lajur, mungkin terdapat faktor lain yang menyumbang kepada palsu return:

  • Pencincangan kata laluan yang salah: Semak semula sama ada anda menggunakan fungsi pencincangan yang betul dan garam semasa menjana kata laluan pencincangan untuk penyimpanan.
  • Ketidakpadanan jenis data: Dalam kod PHP anda, pastikan kata laluan yang disediakan pengguna dan kata laluan yang dicincang diambil daripada pangkalan data adalah daripada jenis data yang sama (cth., kedua-dua rentetan).
  • Ruang putih mengekor: Alih keluar sebarang ruang kosong mengekor daripada kata laluan yang disediakan pengguna dan kata laluan yang dicincang sebelum mengesahkannya.
  • Fungsi yang ditamatkan: Pastikan anda menggunakan versi PHP semasa dan fungsi pencincangan kata laluan yang betul. Elakkan daripada menggunakan fungsi yang tidak digunakan seperti md5 atau sha1.

Atas ialah kandungan terperinci Mengapakah `password_verify` PHP Mengembalikan Palsu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan