Wagwoordverbergings by registrasie op PHP
'n Wagwoordinvoerveld is gewoonlik 'n
invoer met tipe password, waarin
die ingetikte karakters onder sterretjies weggesteek word.
Dit is gedoen sodat 'n boosdoener
nie die gebruiker se wagwoord oor die skouer kan afluister
tydens registrasie nie.
Om die wagwoord so te verberg is natuurlik goed, maar daar is eger 'n probleem - die gebruiker sien nie wat hy/sy intik nie. Hy/sy kan 'n fout maak met die tik van 'n karakter en registreer met 'n ander wagwoord as wat hy/sy bedoel het. Dit sal hartseer wees :(, aangesien hy/sy dan nie sal kan op die webwerf inlog nie.
Daar is 'n standaard oplossing vir hierdie probleem: aan die gebruiker word twee invoervelde vir die wagwoord getoon - in die eerste invoer veld tik hy/sy die wagwoord in, en in die tweede invoer veld - die bevestiging daarvan, dit is dieselfde wagwoord 'n tweede keer:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Die taak van ons webwerf is om te kontroleer dat die wagwoord en die bevestiging daarvan ooreenstem, aangesien dit logies is dat die gebruiker in hierdie geval presies getik het wat hy/sy bedoel het om in te tik:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// registreer
} else {
// vertoon 'n boodskap oor die verskil
}
}
?>
Wysig jou kode sodat wanneer die vorm voorgelê word, die wagwoord met die bevestiging daarvan vergelyk word. As hulle ooreenstem - gaan voort met registrasie, en as hulle nie ooreenstem nie - vertoon dan 'n boodskap daaroor.