• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

System logowania php

0 głosów
353 wizyt
pytanie zadane 20 października 2022 w PHP przez Olafisz Nowicjusz (230 p.)

Witam, mam problem z logowaniem w PHP, najprościej rzecz ujmując ,problem polega na tym ,iż podczas próby zalogowania ,cały czas otrzymuje komunikat ,iż hasło nie zgadza się z tym które jest w bazie pomimo ,że wpisane hasło zgadza się:

login.php:

 

 

index.php:

baza  danych:

1 odpowiedź

+2 głosów
odpowiedź 20 października 2022 przez Arkadiusz Waluk Ekspert (290,910 p.)
wybrane 21 października 2022 przez Olafisz
 
Najlepsza

W bazie masz hasło zapisane po prostu jako zwykły tekst. Natomiast w kodzie w login.php sprawdzasz hasło przy użyciu funkcji password_verify. Do tej funkcji powinieneś przekazać hasło jako zwykły tekst, który wprowadził użytkownik na formularzu logowania oraz hash z bazy, który wcześniej został przygotowany (np. w momencie rejestracji użytkownika) przez password_hash: https://www.php.net/manual/en/function.password-hash.php Oczywiście w teorii możliwa jest także taka zmiana kodu, aby nie korzystać z hashowania i tej funkcji do weryfikacji, wtedy to mogłoby zadziałać zwykłym porównaniem w if, ale tak się nie powinno robić, hasła w bazie należy trzymać zahashowane, aby nikt nie miał do nich dostępu i aby w razie wycieku nie dało się ich odczytać.

PS na przyszłość wrzucaj kod na forum w przeznaczone do tego bloczki, a nie jako screeny - wygodniej jest to wtedy czytać czy wypróbować u siebie

Podobne pytania

0 głosów
0 odpowiedzi 338 wizyt
0 głosów
1 odpowiedź 567 wizyt
0 głosów
1 odpowiedź 508 wizyt
pytanie zadane 11 listopada 2022 w PHP przez mrc Nowicjusz (200 p.)

93,608 zapytań

142,531 odpowiedzi

323,004 komentarzy

63,101 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...