Użytkownicy MySQL są dla użytkowników samego serwera MySQL. Użytkownicy ci powinni być zarezerwowani do użytku tylko przez administratora serwera lub aplikacje wymagające uruchomienia użytkownika (przydziel oddzielnego użytkownika każdej aplikacji). System zarządzania użytkownikami MySQL został zbudowany specjalnie po to, aby zapewnić kontrolowany dostęp do bazy danych działającej na serwerze, a NIE po to, aby stanowić podstawę uwierzytelniania użytkownika w aplikacji internetowej. Ponadto wszelkie dodatki do bazy danych (i kreacje użytkowników) będą wymagały, aby użytkownik uruchamiał aplikację, która ma te uprawnienia w bazie danych. Chociaż samo w sobie nie jest bezpośrednią luką w zabezpieczeniach, jeśli zostanie ona znaleziona w twoim systemie PHP, może znacznie pogorszyć twoje życie.
Nigdy nie chcesz, aby Twoja aplikacja mogła zanieczyszczać przestrzeń nazw bazy danych MySQL dodatkowymi bazami danych lub (tabelami). Podczas działania aplikacji powinna ona być w stanie tworzyć, pobierać, aktualizować i usuwać rekordy tylko przy użyciu Zasada najmniejszych uprawnień , co oznacza, że dasz użytkownikowi bazy danych dostęp tylko do tego, czego wymaga i nic więcej.
Jeśli chodzi o haszowanie hasła, użyj bcrypt za pomocą funkcji crypt() PHP . Zapisz to w bazie danych w tabeli użytkowników.