Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Weryfikacja_hasła w PHP

Ogólna praktyka jest następująca:

  1. Pobierz hasło hash z bazy danych, w której nazwa użytkownika =wprowadzona nazwa użytkownika.
  2. Jeśli zostaną znalezione wiersze, oznacza to użytkownika
  3. Teraz porównujesz wprowadzone hasło z hashem przechowywanym w bazie danych.

Opiszę powyższy przepływ w jakimś pseudokodzie tutaj:

$query = SELECT password FROM users WHERE username = '$username'

$data = FETCH_THE_DATA($query);

if(password_verify($USER_INPUTTED_PASSWORD, $data['password'])) {
    // password is correct
} else {
    // password is in-correct
}

Notatki

  • Przestań używać mysql_* Funkcje. Biblioteka jest przestarzała, ponieważ jest zawodna i zostanie usunięta w przyszłych wydaniach PHP.
  • Zawsze powinieneś przeczytać instrukcję - password_verify() , wyraźnie stwierdza, że ​​porównujesz „hasło wprowadzone przez użytkownika” z zaszyfrowaną wersją, która jest przechowywana w Twojej bazie danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. obracanie powolnego dziennika zapytań mysql

  2. Błąd Laravel PDOException w wierszu Connector.php 55

  3. Jak utworzyć obiekt JSON w MySql z wartością logiczną?

  4. Wybierz N losowych rekordów na grupę

  5. Czy istnieje sposób na wsteczne tworzenie UUID opartego na czasie/węźle w PHP?