Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengesahkan Kata Laluan Masin dengan Selamat dalam Tapak Ahli?

Bagaimana untuk Mengesahkan Kata Laluan Masin dengan Selamat dalam Tapak Ahli?

Barbara Streisand
Lepaskan: 2024-12-04 09:18:12
asal
857 orang telah melayarinya

How to Securely Verify Salted Passwords in a Member Site?

Cara Mengesahkan Kata Laluan Masin dalam Tapak Ahli Anda

Membenamkan langkah keselamatan ke dalam pengesahan pengguna adalah penting untuk melindungi maklumat sensitif. Kata laluan pengasinan meningkatkan penyulitan dan menghalang akses tanpa kebenaran. Artikel ini membincangkan proses mengesahkan kata laluan masin terhadap pangkalan data dan memastikan kebenaran pengguna.

Mengesahkan Kata Laluan Masin

Untuk mengesahkan kata laluan masin, kami mengikuti langkah berikut:

  1. Ambil Garam: Laksanakan pertanyaan untuk mendapatkan semula garam yang dikaitkan dengan nama pengguna.
  2. Sambungkan Kata Laluan dan Garam: Gabungkan kata laluan pengguna yang dimasukkan dan garam yang diambil semula.
  3. Hash yang Bercantum Rentetan: Gunakan fungsi pencincangan, seperti SHA-256, untuk menjana nilai cincang untuk rentetan bercantum.
  4. Bandingkan Cincang: Semak sama ada nilai cincang dari langkah 3 sepadan dengan kata laluan cincang yang disimpan dalam pangkalan data. Jika ia sepadan, kata laluan itu sah.

Contoh Kod untuk Pengesahan Kata Laluan Masin:

$servername = 'localhost';
$username = 'root';
$pwd = '';
$dbname = 'lp001';

$connect = new mysqli($servername, $username, $pwd, $dbname);

if ($connect->connect_error) {
    die('Connection failed: ' . $connect->connect_error);
}

$name = mysqli_real_escape_string($connect, $_POST['name']);
$password = mysqli_real_escape_string($connect, $_POST['password']);

$saltQuery = "SELECT salt FROM users WHERE name = '$name';";
$saltResult = mysqli_query($connect, $saltQuery);

if ($saltResult === false) {
    die(mysqli_error($connect));
}

$row = mysqli_fetch_assoc($saltResult);
$salt = $row['salt'];

$saltedPW = $password . $salt;
$hashedPW = hash('sha256', $saltedPW);

$sqlQuery = "SELECT * FROM users WHERE name = '$name' AND password = '$hashedPW';";
$sqlResult = mysqli_query($connect, $sqlQuery);

if (mysqli_query($connect, $sqlQuery)) {
    echo '<h1>Welcome to the member site ' . $name . '</h1>';
} else {
    echo 'Error adding the query: ' . $sqlQuery . '<br> Reason: ' . mysqli_error($connect);
}
Salin selepas log masuk

Dengan memasukkan langkah-langkah dan contoh kod ini ke dalam ahli anda tapak, anda boleh mengesahkan kata laluan masin dengan berkesan dan memastikan kebenaran pengguna dengan selamat dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Kata Laluan Masin dengan Selamat dalam Tapak Ahli?. 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