Menarik balik Kata Laluan Masin daripada Pangkalan Data dan Mengesahkan Pengguna
Dalam bidang keselamatan kata laluan, penggunaan kata laluan masin adalah yang terpenting. Apabila kata laluan dicincang dengan garam yang unik, ia menjadi semakin sukar bagi penyerang untuk menyahsulit dan mengakses data pengguna yang sensitif.
Teka-teki Pengesahan
Ramai pembangun menghadapi cabaran dalam mengesahkan log masuk pengguna dengan kata laluan masin yang disimpan dalam pangkalan data. Secara tradisinya, pembangun mungkin cuba mengesahkan kata laluan yang dimasukkan secara langsung terhadap cincang masin yang disimpan menggunakan pertanyaan SQL. Walau bagaimanapun, pendekatan ini tidak berdaya maju kerana cincang masin adalah unik dan tidak boleh dibandingkan secara langsung.
Penyelesaian: Fungsi Pengesahan Kata Laluan
Untuk menangani isu ini, pengaturcaraan moden bahasa dan rangka kerja menyediakan fungsi terbina dalam untuk mengendalikan pengesahan kata laluan. Fungsi ini mengambil kata laluan yang dimasukkan dan membandingkannya dengan cincang masin yang disimpan, memastikan kata laluan yang diberikan adalah betul.
Pengesahan Langkah demi Langkah Menggunakan MySQLi
Pertimbangkan coretan kod berikut yang menunjukkan proses mengesahkan log masuk pengguna menggunakan kata laluan masin dalam MySQLi:
$mysqli = new mysqli($dbHost, $dbUser, $dbPassword, $dbName); $mysqli->set_charset('utf8'); $sql = 'SELECT password FROM users WHERE username = ?'; $stmt = $mysqli->prepare($sql); $stmt->bind_param('s', $_POST['username']); $stmt->execute(); $isPasswordCorrect = false; $stmt->bind_result($hashFromDb); if ($stmt->fetch() === true) { $isPasswordCorrect = password_verify($_POST['password'], $hashFromDb); }
Dengan melaksanakan pendekatan ini, anda boleh melindungi kata laluan pengguna anda dengan berkesan dan menghalang yang tidak dibenarkan akses kepada maklumat kritikal.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengesahkan Log Masuk Pengguna dengan Kata Laluan Masin dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!