Pengguna MySQL adalah untuk pengguna server MySQL itu sendiri. Pengguna ini harus dicadangkan untuk digunakan hanya oleh administrator server atau aplikasi yang memerlukan pengguna untuk dijalankan (berikan pengguna terpisah untuk setiap aplikasi). Sistem manajemen pengguna MySQL dibangun khusus untuk mengakomodasi akses terkontrol ke database yang berjalan di server, BUKAN untuk menjadi dasar otentikasi pengguna dalam aplikasi web. Selain itu, setiap penambahan database (dan kreasi pengguna) akan mengharuskan Anda memiliki pengguna yang menjalankan aplikasi yang memiliki izin tersebut di database. Meskipun itu sendiri bukan kerentanan langsung, jika ada di sistem PHP Anda, itu bisa membuat hidup Anda jauh lebih buruk.
Anda tidak pernah ingin aplikasi Anda dapat mencemari namespace database MySQL Anda dengan database tambahan atau (tabel dalam hal ini). Selama pengoperasian aplikasi Anda, seharusnya hanya dapat membuat, mengambil, memperbarui, dan menghapus catatan menggunakan Prinsip dengan hak istimewa paling rendah , artinya Anda akan memberikan akses kepada pengguna database Anda untuk melakukan hanya hal-hal yang diperlukan dan tidak lebih.
Sejauh hashing kata sandi berjalan, gunakan bcrypt melalui fungsi crypt() PHP . Simpan itu di database dalam tabel pengguna.