Hej, natkn??em si? dzisiaj na problem. Tworz? rejestracje na stronie ?eby zalogowa? si? na serwerze, a dodatkowo robie panel gracza. Stworzy?em formularz do logowania do panelu, wype?niam danymi i nic. My?l?, ?e problem sprawia MD5. Wszystkie has?a hashuje w md5, ?eby p??niej odczyta? je przez serwer mta. A teraz.. nie wiem jak odczyta? has?o w md5, w php. Kod
Hashowanie:
PHP Code:
$haslo_hash = md5($haslo1);
Odczytywanie has?a
PHP Code:
if (md5($haslo, $wiersz['password']))
Odczytywanie nie dzia?a i skrypt nie przepuszcza gracza dalej.
//has?o i login z formularza
$login = mysqli_real_escape_string($con, $_POST['login']);
$password = mysqli_real_escape_string($con, $_POST['password']);
//hashowanie has?a
$password = md5($password);
//sprawdzanie czy jest w SQL konto o danym loginie i ha?le
$user = mysqli_num_rows(mysqli_query($con, "SELECT * FROM `gracze` WHERE `nick` = '$login' AND `haslo` = '$password'"));
//je?li jest - loguje
if ($user == 1) {
$_SESSION['user'] = $login;
$_SESSION['auth'] = TRUE;
echo "Zalogowano";
}
//je?li si? nie zgadza - b??d
else {
echo "B??d podczas logowania";
}
Tak w og?le nie u?ywaj md5 do hashowania has?a. S? ciekawsze funkcje na przyk?ad password_hash (http://php.net/manual/en/...ssword-hash.php). Tam te? przy okazji jest funkcja password_verify do sprawdzania poprawno?ci tego has?a.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach