Pengenalan:
Ramai pembangun PHP tersilap menganggap bahawa kata laluan yang disediakan pengguna sepatutnya melarikan diri atau dibersihkan sebelum pencincangan untuk tujuan keselamatan. Soalan ini meneroka sebab mengapa amalan ini tidak perlu dan berpotensi memudaratkan.
Jawapan:
Tidak perlu melarikan diri atau membersihkan
Jangan sekali-kali melarikan diri atau gunakan sebarang mekanisme pembersihan pada kata laluan sebelum mencincangnya menggunakan password_hash() PHP fungsi. Ini kerana:
Pencincangan Melindungi Terhadap Semua Input
Walaupun pengguna memasukkan keseluruhan pertanyaan SQL sebagai kata laluan mereka, pencincangan akan menjadikannya selamat dengan menukarnya menjadi cincang yang tidak dapat dikenali. Tiada pembersihan khas diperlukan untuk menghalang kod berniat jahat daripada disimpan.
Kesan Kaedah Pembersihan
Kaedah pembersihan yang berbeza boleh mengubah kata laluan dengan ketara, yang membawa kepada isu pengesahan apabila membandingkan ia dengan kata laluan cincang yang disimpan. Adalah penting untuk mengelakkan kaedah ini sebelum pencincangan, kerana ia tidak memberikan sebarang keselamatan tambahan.
Kesimpulan:
Meloloskan diri atau membersihkan kata laluan pengguna sebelum pencincangan adalah tidak perlu dan berpotensi memudaratkan. Fungsi password_hash() PHP melindungi kata laluan dengan berkesan tanpa memerlukan sebarang pengubahsuaian tambahan.
Atas ialah kandungan terperinci Sekiranya Anda Melarikan Diri atau Membersihkan Kata Laluan Sebelum Hashing dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!