MySQL-gebruikers zijn voor de gebruikers van de MySQL-server zelf. Deze gebruikers mogen alleen worden gereserveerd voor gebruik door de serverbeheerder of toepassingen waarvoor een gebruiker moet worden uitgevoerd (geef een afzonderlijke gebruiker aan elke toepassing). Het MySQL-gebruikersbeheersysteem is speciaal gebouwd om gecontroleerde toegang tot de database op de server mogelijk te maken, NIET om de basis te zijn voor gebruikersauthenticatie in een webtoepassing. Bovendien moet u voor databasetoevoegingen (en gebruikerscreaties) een gebruiker hebben die de toepassing uitvoert die deze machtigingen voor de database heeft. Hoewel het op zich geen directe kwetsbaarheid is, kan het je leven een stuk erger maken als er een wordt gevonden in je PHP-systeem.
U wilt nooit dat uw toepassing uw MySQL-databasenaamruimte kan vervuilen met extra databases of (tabellen trouwens). Tijdens de werking van uw toepassing zou deze alleen records moeten kunnen maken, ophalen, bijwerken en verwijderen met behulp van de Beginsel van de minste privileges , wat betekent dat u uw databasegebruiker toegang geeft om alleen de dingen te doen die nodig zijn en niets meer.
Gebruik voor het hashen van wachtwoorden bcrypt via PHP's crypt()-functie . Sla dat op in de database in een gebruikerstabel.