⊗ppPmAuAHS 425 of 447 menu

การเพิ่มเกลือในระบบการยืนยันตัวตน

ตอนนี้เราจำเป็นต้องเปลี่ยนระบบการยืนยันตัวตน การเปลี่ยนแปลงในส่วนนี้จะค่อนข้างสำคัญมากขึ้น

เราไม่สามารถตรวจสอบความถูกต้องของคู่ ล็อกอิน-รหัสผ่านได้ทันทีด้วยคำสั่งเดียวอีกต่อไป ทำไม: เพราะการที่จะตรวจสอบรหัสผ่านได้ เราต้อง ได้แฮชที่ผสมเกลือของมันมา และเกลือนั้นเก็บไว้ ในฐานข้อมูลและมีลักษณะเฉพาะสำหรับแต่ละล็อกอิน

เราจะต้องดึงข้อมูลผู้ใช้ตาม ล็อกอินก่อน อ่านค่าเกลือ นำเกลือมาผสมกับรหัสผ่านที่ป้อนเข้ามา แล้วเปรียบเทียบกับรหัสผ่านที่ผสมเกลือจากฐานข้อมูล และ只有在ตรงกันเท่านั้น จึงจะยืนยันตัวตน ผู้ใช้ได้

โปรดทราบว่า อาจมีกรณีที่ล็อกอินถูกป้อน มาไม่ถูกต้อง ในกรณีนี้ก็ไม่จำเป็นต้อง ตรวจสอบรหัสผ่าน แต่ให้แสดงผลทันทีว่า การยืนยันตัวตนไม่สำเร็จ - ข้อมูลไม่ถูกต้อง:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // มีผู้ใช้ที่มีล็อกอินนี้ ตอนนี้ต้องตรวจสอบรหัสผ่าน... } else { // ไม่มีผู้ใช้ที่มีล็อกอินนี้ แสดงข้อความ } ?>

มาเพิ่มการตรวจสอบรหัสผ่านกัน:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $salt = $user['salt']; // เกลือจากฐานข้อมูล $hash = $user['password']; // รหัสผ่านที่ผสมเกลือจากฐานข้อมูล $password = md5($salt . $_POST['password']); // รหัสผ่านที่ผสมเกลือจากผู้ใช้ // เปรียบเทียบแฮชที่ผสมเกลือ if ($password == $hash) { // เรียบร้อยทั้งหมด ยืนยันตัวตน... } else { // รหัสผ่านไม่ตรงกัน แสดงข้อความ } } else { // ไม่มีผู้ใช้ที่มีล็อกอินนี้ แสดงข้อความ } ?>

เพื่อความปลอดภัย โดยปกติจะไม่แจ้งให้ผู้ใช้ทราบ ว่าส่วนไหนที่ไม่ถูกต้อง - ล็อกอิน หรือรหัสผ่าน เพื่อทำให้แฮกเกอร์เดาคู่ล็อกอิน-รหัสผ่าน ได้ยากขึ้น เพียงแสดงข้อความว่า คู่ล็อกอิน-รหัสผ่านไม่ถูกต้องหรืออะไร ในทำนองนั้น

ให้ดำเนินการระบบยืนยันตัวตนด้วยรหัสผ่านที่ผสมเกลือ ตามที่อธิบายไว้ข้างต้น ลองลงทะเบียน, ลองยืนยันตัวตน, และตรวจสอบให้แน่ใจว่าทุกอย่างทำงานได้

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ