Паролни маҳфӣ кардан дар сабти ном дар 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 {
// паёми номувофиқиро хориҷ мекунем
}
}
?>
Коди худро тағир диҳед, то ки дар вақти фиристодани формула парол бо тасдиқи он муқоиса шавад. Агар онҳо мувофиқат кунанд - пас сабти номро идома медиҳем, ва агар мувофиқат накунанд - пас паём дар ин бора хориҷ мекунем.