⊗ppPmAuAHS 425 of 447 menu

Menambahkan Salt pada Otorisasi

Sekarang kita perlu mengubah otorisasi. Di sini perubahan akan lebih signifikan.

Tidak mungkin lagi memeriksa kebenaran pasangan login-password secara langsung, dengan satu permintaan. Mengapa: karena, untuk memeriksa password, perlu mendapatkan hash salted-nya, dan salt disimpan dalam database dan unik untuk setiap login.

Harus pertama-tama mendapatkan catatan hanya berdasarkan login, membaca salt, menambahkan salt pada password yang dimasukkan dan membandingkannya dengan password salted dari database dan hanya, jika cocok, - mengotorisasi pengguna.

Perhatikan, mungkin terjadi bahwa login dimasukkan salah, dalam hal ini pemeriksaan password tidak perlu dilakukan, dan langsung menampilkan bahwa otorisasi tidak mungkin - data tidak benar:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // ada pengguna dengan login seperti itu, sekarang perlu memeriksa password... } else { // tidak ada pengguna dengan login seperti itu, tampilkan pesan } ?>

Mari kita tambahkan pemeriksaan password:

<?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']; // salt dari DB $hash = $user['password']; // password salted dari DB $password = md5($salt . $_POST['password']); // password salted dari user // Bandingkan hash salted if ($password == $hash) { // semua ok, mengotorisasi... } else { // password tidak cocok, tampilkan pesan } } else { // tidak ada pengguna dengan login seperti itu, tampilkan pesan } ?>

Untuk keamanan, pengguna biasanya tidak diberi tahu, apa yang tidak cocok - login atau password, untuk mempersulit pencocokan pasangan login-password oleh peretas. Cukup menampilkan pesan bahwa pasangan login-password salah atau sesuatu seperti itu.

Implementasikan otorisasi dengan password salted seperti di atas. Coba daftar, login, pastikan semuanya bekerja.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak