PHPде колдонуучуларды каттоодо сырсөздү жашыруу
Сырсөздү киргизүү талаасы адатта password тибиндеги инпут болуп саналат,
анын ичинде киргизилген символдор жылдызчалар менен жашырылат.
Бул колдонуучунун сырсөзүн каттоо учурунда жаман ниеттүү адам ийинден көрүп алышынан
сактоо үчүн жасалат.
Сырсөздү ушундай жол менен жашыруу, албетте, жакшы, бирок, бир проблема бар - колдонуучу эмнени киргизип жатканын көрбөйт. Ал кандайдыр бир символду киргизүүдө ката кетириши мүмкүн жана өзү каалаган сырсөз менен эмес, башка сырсөз менен катталып кетет. Бул капалуу болот:(, анткени андан кийин ал вебсайтта кирүү мүмкүнчүлүгүнө ээ болбойт.
Бул маселенин стандарттык чечими бар: колдонуучуга сырсөздү киргизүү үчүн эки инпут көрсөтүлөт - биринчи инпутка ал сырсөздү киргизет, экинчи инпутка - анын ырастоосун, башкача айтканда ошол эле сырсөздү экинчи жолу:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Биздин вебсайттын милдети - сырсөз жана анын ырастоосу дал келерин текшерүү, анткени логикалык түрдө, бул учурда колдонуучу так өзү каалаган нерсени киргизген:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// каттоо өткөрүлөт
} else {
// дал келбегендиги жөнүндө билдирме чыгарабыз
}
}
?>
Форма жөнөтүлгөндө сырсөз анын ырастоосу менен салыштырылуусу үчүн сиздин кодду өзгөртүңүз. Эгерде алар дал келсе - анда каттоону улантабыз, ал эми эгерде дал келбесе - анда бул жөнүндө билдирме чыгарабыз.