Գաղտնաբառի թաքցնումը 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 {
// ցույց տալ անհամապատասխանության մասին հաղորդագրություն
}
}
?>
Փոփոխեք ձեր կոդն այնպես, որ ձևը ուղարկելիս գաղտնաբառը համեմատվի դրա հաստատման հետ: Եթե դրանք համընկնում են, ապա շարունակեք գրանցումը, իսկ եթե չեն համընկնում, ապա ցուցադրեք դրա մասին հաղորդագրություն: