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

Mengapakah `password_verify` PHP Mengembalikan Palsu?

Linda Hamilton
Linda Hamiltonasal
2024-12-04 03:18:12552semak imbas

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!

Kenyataan:
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