Потребителите на MySQL са за потребителите на самия MySQL сървър. Тези потребители трябва да бъдат запазени за използване само от администратора на сървъра или приложения, които изискват стартиране на потребител (да се даде отделен потребител на всяко приложение). Системата за управление на потребителите MySQL е създадена специално, за да осигури контролиран достъп до базата данни, работеща на сървъра, а НЕ да бъде основа за удостоверяване на потребителя в уеб приложение. Освен това, всяко добавяне на база данни (и създаване на потребители) ще изисква от вас да имате потребител, изпълняващ приложението, който има тези разрешения за базата данни. Въпреки че сама по себе си не е директна уязвимост, ако такава бъде открита във вашата PHP система, тя може да влоши живота ви много.
Никога не искате вашето приложение да може да замърси пространството от имена на вашата MySQL база данни с допълнителни бази данни или (таблици за този въпрос). По време на работа на вашето приложение, то трябва да може да създава, извлича, актуализира и изтрива записи само с помощта на Принцип на най-малко привилегии , което означава, че ще давате на вашата база данни потребителски достъп, за да прави само нещата, които изисква, и нищо повече.
Що се отнася до хеширането на пароли, използвайте bcrypt чрез функцията crypt() на PHP . Съхранете това в базата данни в таблица с потребители.