Mengoptimumkan Pengesahan Pengguna dengan Keselamatan Kata Laluan
Apabila melaksanakan skrip log masuk, adalah penting untuk memastikan keselamatan data dengan menggunakan teknik pengendalian kata laluan yang betul. Artikel ini meneroka penempatan password_verify dalam skrip log masuk anda dan menyediakan pendekatan yang lebih cekap untuk mengendalikan butiran log masuk.
1. Mengintegrasikan password_verify ke dalam Skrip Log Masuk Anda
Untuk mengesahkan kata laluan pengguna dengan selamat, password_verify harus dimasukkan ke dalam proses log masuk. Kod yang dikemas kini akan kelihatan seperti ini:
if ($row = $query->fetch()) { if (password_verify($_POST['password'], $row['password'])) { $_SESSION['email'] = $row['email']; $_SESSION['first_name'] = $row['first_name']; header("Location: ../../myaccount/myaccount.php"); } else { header("Location:../../login/login.php "); } }
Kod ini membandingkan kata laluan cincang dalam pangkalan data dengan kata laluan teks biasa yang dimasukkan oleh pengguna. Jika ia sepadan, log masuk berjaya; jika tidak, log masuk ditolak.
2. Memperkemas Pengendalian Butiran Pengguna dengan $results = $stmt->fetch(PDO::FETCH_ASSOC);
Untuk mendapatkan semula dan memaparkan butiran pengguna dengan cekap pada halaman 'Akaun Saya', anda boleh memanfaatkan pengambilan (PDO::FETCH_ASSOC) kaedah. Kaedah ini mengambil baris data seterusnya dan mengembalikan tatasusunan bersekutu dengan nama lajur sebagai kunci. Berikut ialah contoh:
$stmt = $conn->prepare("SELECT email, first_name, last_name FROM user_accounts WHERE email=:email"); $stmt->bindParam(':email', $_SESSION['email']); $stmt->execute(); $results = $stmt->fetch(PDO::FETCH_ASSOC); $_SESSION['email'] = $results['email']; $_SESSION['first_name'] = $results['first_name']; $_SESSION['last_name'] = $results['last_name'];
Pendekatan ini memudahkan pengambilan dan pengendalian butiran pengguna dengan ketara, menghapuskan keperluan untuk berbilang $_SESSION['xxx'] = $row['xxx']; kenyataan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan dan Mengoptimumkan Pengesahan Pengguna dengan Selamat dalam Skrip Log Masuk Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!