⊗ppPmAuAHS 425 of 447 menu

Yetkilendirmeye Tuz Ekleme

Şimdi yetkilendirmeyi değiştirmemiz gerekiyor. Burada değişiklikler daha önemli olacak.

Artık giriş-şifre çiftinin doğruluğunu hemen, tek bir sorguyla kontrol etmek mümkün olmayacak. Nedeni: şifreyi kontrol etmek için, onun tuzlanmış hash'ini almak gerekir, ve tuz veritabanında saklanır ve her giriş için benzersizdir.

İlk önce sadece girişe göre kaydı almak, tuzu okumak, girilen şifreyi tuzlamak ve veritabanındaki tuzlanmış şifre ile karşılaştırmak ve sadece, eğer eşleşirlerse, - kullanıcıyı yetkilendirmek gerekecek.

Dikkat edin, girişin yanlış girilmiş olması mümkündür, bu durumda şifre kontrolü yapılamaz, ve hemen yetkilendirmenin mümkün olmadığını - verilerin yanlış olduğunu gösterebilirsiniz:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // bu girişe sahip bir kullanıcı var, şimdi şifreyi kontrol etmek gerekir... } else { // bu girişe sahip bir kullanıcı yok, mesaj gösterelim } ?>

Şifre kontrolünü ekleyelim:

<?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']; // VT'den tuz $hash = $user['password']; // VT'den tuzlanmış şifre $password = md5($salt . $_POST['password']); // kullanıcıdan gelen tuzlanmış şifre // Tuzlanmış hash'leri karşılaştırıyoruz if ($password == $hash) { // her şey tamam, yetkilendiriyoruz... } else { // şifre uygun değil, mesaj gösterelim } } else { // bu girişe sahip bir kullanıcı yok, mesaj gösterelim } ?>

Güvenlik nedeniyle kullanıcıya genellikle tam olarak neyin uymadığı - giriş mi yoksa şifre mi söylenmez, böylece hackerların giriş-şifre çiftlerini tahmin etmesi zorlaştırılır. Sadece giriş-şifre çiftinin yanlış olduğu veya benzeri bir mesaj gösterilir.

Yukarıda açıklanan tuzlanmış şifreli yetkilendirmeyi uygulayın. Kaydolmayı deneyin, giriş yapın, her şeyin çalıştığından emin olun.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet