2017-08-15 5 views
1

J'ai développé le site Web PHP basé sur MySQL en utilisant une base de données et en gérant le compte des utilisateurs dans un tableau users. J'ai eu de la difficulté à gérer les privilèges pour chaque table utilisateur int.Création d'un utilisateur au niveau du serveur MySQL pour le site Web

J'ai constaté qu'il existe des privilèges de levier serveur facilement disponibles. Quelque chose comme ceux-ci: -

GRANT ALL PRIVILEGES ON *.* TO 'john'@'localhost' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; 

ou

CREATE USER 'john'@'localhost' IDENTIFIED WITH mysql_native_password AS '***';GRANT SELECT, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EXECUTE ON *.* TO 'john'@'localhost' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; 

Le premier SQL est pour l'octroi de privilèges et le second est pour la création d'un nouvel utilisateur et configuration des privilèges.

Ma requête: Est-ce une bonne pratique de programmation pour créer un utilisateur au niveau du serveur?

Répondre

0

Si vous créez un site Web et devez accorder des privilèges à vos utilisateurs, créez un système de privilège et accordez à l'utilisateur son propre niveau de privilège. Vous pouvez stocker ces privilèges dans une table distincte dans la base de données. Mais, autre chose est d'accorder des privilèges à votre base de données. Avec les requêtes que vous posez sur vous créer réellement des utilisateurs de la base de données et leur accorder des privilèges pour gérer toute votre base de données et toutes les données qui s'y trouvent. Vous ne devriez certainement pas le faire si vous n'êtes pas sûr de ce que vous faites.

+0

Cela signifie que je pensais correctement. Je vous remercie. –