⊗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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау