Paroles slēpšana reģistrācijā PHP
Paroles ievades lauks parasti ir
ievades lauks ar tipu password, kurā
ievadītās rakstzīmes tiek paslēptas aiz zvaigznītēm.
Tas ir izdarīts tāpēc, lai ļaunprātīgs persons
nevarētu noskatīt lietotāja paroli viņam
plecu pāri reģistrācijas brīdī.
Paroles slēpšana šādā veidā, protams, ir laba, bet tomēr ir problēma - lietotājs nereda, ko viņš ievada. Viņš var kļūdīties ievadot kādu rakstzīmi un reģistrēties ne ar to paroli, ar kādu viņš gribēja. Tas būs skumji:(, jo tad viņš nevarēs autentificēties vietnē.
Pastāv standarta risinājums šai problēmai: lietotājam tiek rādīti divi ievades lauki paroles ievadei - pirmajā ievades laukā viņš ievada paroli, un otrajā ievades laukā - tās apstiprinājumu, tas ir, to pašu paroli otro reizi:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Mūsu vietnes uzdevums ir pārbaudīt, vai parole un tās apstiprinājums sakrīt, jo ir loģiski, ka šajā gadījumā lietotājs ir ievadījis tieši to, ko viņš gribēja ievadīt:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// reģistrējam
} else {
// izvadām ziņojumu par nesakritību
}
}
?>
Modificējiet savu kodu tā, lai, iesniedzot formu, parole tiktu salīdzināta ar tās apstiprinājumu. Ja tās sakrīt - tad turpinām reģistrāciju, un, ja tās nesakrīt - tad izvadām ziņojumu par to.