Question

Comment les utilisateurs ne privilège de travailler sur MySQL? Est-ce que tous les utilisateurs qui utilisent un site de réseautage social chacun a un privilège utilisateur unique afin de se connecter à db ou tous les utilisateurs utilisent le même privilège tels que:

$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word'; 
Était-ce utile?

La solution

Non, en général, il y aura un (ou un petit nombre) d'utilisateurs de MySQL, et le script PHP (ou autre code côté serveur) utilisera celui-utilisateur de faire tous les fetching et la mise des données. Dans certains scénarios, il est utile de créer un utilisateur MySQL poignée avec différents niveaux d'autorisations, comme un niveau de sécurité supplémentaire (si les requêtes select générales sont exécutées à l'aide d'un utilisateur ayant des droits de select et inserts et updates sont gérées par un utilisateur séparé avec ces privilèges ). Si vous permettez à des ordinateurs distants d'accéder à la base de données MySQL directement (pour les sites partenaires ou des applications), il est également fréquent de créer un utilisateur MySQL spécifique pour cette connexion avec des autorisations limitées seulement ce dont ils ont besoin (aucune autorisation de drop ou modify, par exemple) et limité exclusivement à leur adresse IP (vous pouvez limiter un utilisateur de MySQL pour les connexions à partir de seulement une seule adresse).

La ligne de fond, est que vous ne devez généralement créer quelques utilisateurs, et votre site / application utilisera uniquement ce petit groupe d'utilisateurs à faire tout l'interrogation. En outre, il est une bonne pratique pour accéder à la base de données avec un utilisateur qui a le plus petit nombre d'autorisations possibles pour accomplir les tâches (dans la raison ... ne créent pas un utilisateur séparé pour chaque action possible ... en général 1-3 utilisateurs devraient couvrir tous les niveaux d'autorisations que vous voudriez). Si vous créez un grand nombre d'utilisateurs que vous allez (a) ralentir MySQL, car il doit accéder à une table d'autorisations plus grande; (B) il sera beaucoup plus difficile de gérer les autorisations si l'application change sur la route; et (c) il est plus d'une douleur aux autorisations de débogage des problèmes (votre script PHP a plus de flexibilité dans ce qu'il faut faire et rapport s'il y a un problème d'autorisations).

Autres conseils

Normalement, vous avez une connexion d'une base de données et stocker chaque comptes utilisateurs dans une table « utilisateurs » avec les noms d'utilisateur et mots de passe correspondant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top