Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3410 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Droits et Utilisateurs MySql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Droits et Utilisateurs MySql

n°645730
lkolrn
<comment ça marche?>
Posté le 17-02-2004 à 16:53:51  profilanswer
 

Oyez!
 
je démarre un projet pro de site en php/mysql, cependant je suis un tout noobie en la matière, et je me pose des question existentielles sur la gestion des droits sur les bases MySQL...
Je m'explique: l'utilisateur administrateur par défaut pour MySql est monsieur 'root'. Il peut donc faire je suppose ce qu'il veut sur l'ensemble des bases MySql qui tournent sur son serveur.
 
1ere question: si je créer un autre admin (avec password d'ailleurs), est-ce possible qu'il y ait "conflit" entre les admins  ? (question un peu conne je l'avoue :sweat:)
 
2eme question (pour me rattraper :p): est-ce que tout utilisateur qui va se connecter sur le site (et aussi à la bdd MySql) va devenir utilisateur de la base (autrement dit: est-ce que la table 'user' visible dans phpMyadmin va accueillir un nouvel enregistrement, meme temporairement ?)
 
c encore un peu toufu dans ma caboche! :whistle: et ca me gènerait terriblement que quelqu'un accède à ma base MySql s'il arrivait a lire le nom et le pass du root dans le fichier de connexion (le root par défaut me parait mal protégé)
 
Répondez vite sinon :pt1cable: (déja que je nage la...)
 
>MICI D'AVANCE<

mood
Publicité
Posté le 17-02-2004 à 16:53:51  profilanswer
 

n°645774
naceroth
Posté le 17-02-2004 à 17:16:38  profilanswer
 

le root par défaut EST mal protégé, faut lui ajouter un mot de passe et VITE (à moins que mysql ait changé ça mais j'en doute)
 
1. Non, pourquoi veut tu qu'il y ait des conflits ? Dans un monde idéal, l'utilisateur root n'est jamais utilisé, sauf cas extrèmes (et théoriquement, root est le seul à avoir tout les droits sur toutes les db)
 
2. Non, il va utiliser le compte que le site utilise pour se connecter, donc théoriquement (oui, parce qu'en pratique :D) un compte aux privilèges limités (genre select, insert, update, delete, create, alter...enfin, suivant ce que tu veux lui laisser faire) et à qui tu donnes un accès à une (ou plusieurs db) mais prédéterminée :)

n°645811
lkolrn
&lt;comment ça marche?&gt;
Posté le 17-02-2004 à 17:43:08  profilanswer
 

LKoLRn a écrit :

Donc concrètement il fo que dans phpMyAdmin je crée un nouvel enregistrement (ie. utilisateur) dans la table 'user' avec des droits limités, et que j'utilise ce "compte" pour logger tous les utilisateurs qui accèdent au site et à la bdd (paramètres à inclure dans la fontion mysql_connect())...?!
 
Encore une chose, tu dis:

Citation :

l'utilisateur root n'est jamais utilisé, sauf cas extrèmes


Ca parait en effet etre une bonne solution, mais dans tous les exemples que je vois de connexion à une base MySql, l'username='root' et le password='', d'où mes interrogations... (je sais, ce ne sont que des exemples :p)
 
Une dernière pour la route! g dis:

Citation :

ca me gènerait terriblement que quelqu'un accède à ma base MySql s'il arrivait a lire le nom et le pass du root dans le fichier de connexion


>> A part changer ces 2 paramètres, y aurait-il d'autres solutions + "massives" contre ma parano?! :sarcastic:

n°645852
lkolrn
&lt;comment ça marche?&gt;
Posté le 17-02-2004 à 18:15:21  profilanswer
 

Encore un problème... :??: G créé 2 comptes root, le 1er avec pass et le 2nd sans. Lorque j'execute mysql_connect avec le 1er root (parametre password != '') ca ne passe pas, avec le 2eme root (pass='') ca ne passe pas non plus, par contre quand j'essaie avec mon 1er root mais SANS le password, et bien ca marche, je me connecte...!  :pt1cable:
 
!O S'COURS! plzzzzz

n°645869
Titalium
Posté le 17-02-2004 à 18:36:58  profilanswer
 

Vérifie aussi tes host : tu peux définir un utilisateur root avec un pass X sur le localhost, et un user root avec un pass Y sur ta carte éthernet (si tu est connecté via routeur/modem Ethernet) et ainsi de suite...

n°645879
naceroth
Posté le 17-02-2004 à 18:45:24  profilanswer
 

LKoLRn a écrit :


Donc concrètement il fo que dans phpMyAdmin je crée un nouvel enregistrement (ie. utilisateur) dans la table 'user' avec des droits limités, et que j'utilise ce "compte" pour logger tous les utilisateurs qui accèdent au site et à la bdd (paramètres à inclure dans la fontion mysql_connect())...?!  


 
J'utilise pas phpMyAdmin, donc je vais laisser cette partie aux experts de ce script :)
Mais oui, tu ajoutes un utilisateur avec des droits réduits (tant sur les instructions que sur les droits d'accès aux db) et tu te logges avec celui là.
 

LKoLRn a écrit :


Ca parait en effet etre une bonne solution, mais dans tous les exemples que je vois de connexion à une base MySql, l'username='root' et le password='', d'où mes interrogations... (je sais, ce ne sont que des exemples :p)  


 
Pour ça que je disais "dans un monde idéal", parce que comme tu le dis dans la pratique, le compte root est souvent le compte utilisé pour tout, avec tous les droits, tous les accès et une sécurité précaire (déjà vu des scripts qui affichaient le password du compte root lors d'une erreur du script, sécurité zéro :))  
 

LKoLRn a écrit :


A part changer ces 2 paramètres, y aurait-il d'autres solutions + "massives" contre ma parano?


 
Perso j'utilises des comptes sélectifs, des constantes pour les données sensibles, une gestion d'erreur propre (mysql_connect() or die(...) au minimum)
 
Par contre, je crois qu'on s'est mal compris, tu ne peux (enfin, pour le cas général) pas créer 2 comptes de même nom. Donc, tu protèges root avec un mot de passe, et tu crées un deuxième compte que tu appelles comme tu veux (sauf nom déjà pris donc :))  à qui tu donnes les droits que tu souhaites

n°645892
lkolrn
&lt;comment ça marche?&gt;
Posté le 17-02-2004 à 19:01:31  profilanswer
 

dsl c moi qui me suis mal exprimé, quand je dis:

Citation :

G créé 2 comptes root


> il s'agit en fait de 2 comptes différenciés (avec des username différents) mais ayant tous 2 des droits "root"... ya donc vraiment un truc qui cloche :pt1cable:  
 
Sinon déjà: mici pour les eclaircissements à propos de l'user sur lequel se logger  :jap:


Message édité par lkolrn le 17-02-2004 à 20:28:41
n°646042
naceroth
Posté le 17-02-2004 à 21:06:30  profilanswer
 

Comme l'a dit Titalium plus haut, vérifie aussi les hosts sur lesquels tu as mis un mot de passe (je télécharge phpmyadmin et je repasse plus tard :))

n°646050
naceroth
Posté le 17-02-2004 à 21:22:51  profilanswer
 

Donc, pour ajouter un utilisateur, tu dois passer par l'onglet privilèges > ajouter un utilisateur, pas par une insertion directe dans la table user.
 
Tu rentres son nom, son serveur et l'éventuel mot de passe
Ensuite tu peux définir ses privilèges, droit sur les tables etc...

n°646143
Titalium
Posté le 17-02-2004 à 23:06:57  profilanswer
 

Je sais pas sous EasyPHP vu que je fais maintenant tourner mon serveur HTTP sous Pingouin, mais avec MySQL sous Linux, tu peux très bien avoir plusieurs utilisateur du même nom (root par exemple) avec des droits/hosts differents.
 
C'est pas très judicieux, certes, mais c'est possible...

mood
Publicité
Posté le 17-02-2004 à 23:06:57  profilanswer
 

n°646204
lkolrn
&lt;comment ça marche?&gt;
Posté le 17-02-2004 à 23:43:35  profilanswer
 

MICI c trouvé! :jap:
 
Testé et approuvé!!! :)


Message édité par lkolrn le 17-02-2004 à 23:46:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Droits et Utilisateurs MySql

 

Sujets relatifs
MYSQL : type BIGINT[mysql] mysqldump avec --opt réduit la taille de ma bdd
[Delphi] Delphi et MysqlMysql- myisam / innodb
[PHP MYSQL] Comment font les sites comme royaumes pour...[mysql] Pourquoi ma requete ne marche pas ??
Gestion des utilisateurs pour sites en phpTomcat + Mysql + MysqlConnector
Pb requete MYSQL avec NOT EXISTSmysql
Plus de sujets relatifs à : Droits et Utilisateurs MySql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR