PHP-də Qeydiyyatda Parolun Gizlidilməsi
Parol daxil etmə sahəsi adətən
password tipində input olur, burada
daxil edilmiş simvollar ulduz işarələri altında gizlənir.
Bu ona görə edilir ki, hər hansı bir zərərli niyyətli şəxs
istifadəçinin parolunu qeydiyyat anında çiyindən
görə bilməsin.
Parolu bu şəkildə gizlətmək əlbəttə ki, yaxşıdır, amma bir problem var - istifadəçi nə daxil etdiyini görmür. O, hər hansı bir simvolu daxil edərkən səhv edə bilər və istədiyi parolla deyil, başqa bir parolla qeydiyyatdan keçə bilər. Bu, pis olacaq:(, çünki daha sonra o, sayta daxil ola bilməyəcək.
Bu problemin standart bir həlli var: istifadəçiyə parol daxil etmək üçün iki input göstərilir - birinci inputa parolu daxil edir, ikinci inputa isə onun təsdiqini, yəni eyni parolu ikinci dəfə daxil edir:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Saytımızın vəzifəsi - parolun onun təsdiqi ilə üst-üstə düşdüyünü yoxlamaqdır, çünki məntiqlidir ki, bu halda istifadəçi dəqiq olaraq istədiyi şeyi daxil edib:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// qeydiyyatdan keçir
} else {
// uyğunsuzluq haqqında mesaj çıxardırıq
}
}
?>
Kodunuzu elə dəyişin ki, formanı göndərərkən parol onun təsdiqi ilə müqayisə edilsin. Əgər onlar üst-üstə düşürsə - qeydiyyatı davam etdiririk, əgər üst-üstə düşmürsə - bu barədə mesaj çıxardın.