Page 1 sur 2
MODE SAFE On
Posté : 24 mars 2008, 19:51
par violinette
Bonjour,
Je cherche à développer mon site internet en php et mysql. Pour créer et gérer ma base de données, j'utilise phpmyadmin. Tout marchait bien jusqu'à ce qu'un hébergeur me dise qu'il fallait avoir l'option SAFE MODE à On dans php.ini. J'ai fait la modification et depuis, je n'arrive plus du tout à me connecter à ma base par phpmyadmin. J'ai l'erreur suivante : "#1045 - Access denied for user 'SYSTEM'@'localhost' (using password: NO)". Si je décoche SAFE MODE, tout se remet à marcher correctement, mais mon site ne fonctionnera pas une fois hébergé. Pouvez-vous me dire ce qu'il faut que je fasse pour que tout marche avec SAFE MODE à On ?
Merci beaucoup !!
Posté : 24 mars 2008, 20:15
par Sékiltoyai
A mon avis, tu n'as pas configuré ton phpmyadmin, as-tu bien entré tes identifiants dans la configuration de phpmyadmin ?
Posté : 24 mars 2008, 22:53
par violinette
J'ai fait les paramétrages suivants dans le fichier config.inc.php:
$cfg['blowfish_secret'] = 'cmoi';
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = '';
Ce paramétrage me permet de demander un utilisateur et un mot de passe pour l'accès à ma base sur phpmyadmin. Mais dès que l'option SAFE MODE est activé, l'erreur revient lors de la connexion.
Dois-je faire un autre paramétrage ?
Posté : 24 mars 2008, 23:00
par Sékiltoyai
Il te demande un utilisateur et un mot de passe à la connexion ?
Et quand le safe mode n'est pas activé, tu es bien connecté sous le nom d'utilisateur que tu as entré ? Il ne te connecte pas avec toujours le même compte ?
Posté : 24 mars 2008, 23:14
par Invité
Oui, il me demande un utilisateur et un mot de passe. Quand le safe mode n'est pas activé, je tombe sur la page d'accueil de phpmyadmin, mais quand le safe mode est activé, j'ai le message d'erreur "#1045 - Access denied for user 'SYSTEM'@'localhost' (using password: NO)".
J'ai bien vérifié : quand je safe mode n'est pas activé, je suis bien connectée à mon compte ! Il ne me connecte pas toujours avec le même compte car j'en ai deux possibles : root et moncompte. Quand je regarde dans phpmyadmin quand le safe mode n'est pas activé, je suis connectée avec 'moncompte@localhost'.
Posté : 27 mars 2008, 14:02
par violinette
Au secours ! Il n'y a vraiment personne pour m'aider ??
Posté : 27 mars 2008, 17:10
par Berzemus
quid des mots de passe ? y'en a un pour tous les comptes ?
Posté : 27 mars 2008, 17:48
par violinette
Non. Le mot de passe est juste pour l'utilisateur 'moncompte'. Le compte root n'en a pas.
Posté : 27 mars 2008, 17:54
par Berzemus
alors je commencerais par mettre un mot de passe.. c'est de toute façon mieux.. sauf si tu veux donner un accès complet et universel à chaque citoyen du monde à ta base de données..
Posté : 27 mars 2008, 19:26
par violinette
OK. Mais pour l'option SAFE MODE on ?
Posté : 28 mars 2008, 11:15
par Berzemus
Alors, je vais proposer ma théorie:
sur la liste des fonctions limités par le safe mode (
lien), on trouve une référence à "sql_safe_mode restrictions". Je ne sais pas trop ce que c'est, mais j'imagine que ça augmente les besoins de sécurité, et que donc il est possible que le fait que ton root n'ait pas de mot de passe (suicidiaire pour une DB) puisse tout faire pèter.
D'un autre côté, dans ton message d'erreur, il y a un certain 'SYSTEM' .
A ce que je vois (du peu qui est visible), tu te connectes en utilisant un certain utilisateur 'SYSTEM', sans spécifier de mot de passe. Vérifie par la même occasion les lieux d'ou peuvent se connecter ton root et toncompte (dans les paramètres phpmyadmin).
Posté : 28 mars 2008, 14:05
par violinette
En fait, ce message d'erreur apparait quand je me connecte avec 'root' ou avec 'moncompte'. Je ne cherche pas du tout à me connecter avec 'SYSTEM'. J'ai mis un mot de passe à 'root' comme tu me l'as dit (niveau sécurité, c'est mieux je suis d'accord !). Mais j'ai toujours le même message d'erreur à ma connection.
Je ne peux me connecter à phpmyadmin que sur mon poste : dans phpmyadmin.conf :
"Order Deny,Allow
Deny from all
Allow from 127.0.0.1"
Par contre, je viens de me rendre compte que je n'ai pas de fichier .htaccess dans phpmyadmin. Est-ce important ? Ce fichier fait quoi ?
Posté : 28 mars 2008, 15:01
par Berzemus
ok ok.. tu peux juste me dire ou ça coince ? chez toi en local ou à distance chez ton hébergeur ?
Si le phpmyadin.conf à distance contient "deny from all", ça me titille un peu.. (puisque ces deux lignes spécifient "rejette tout le monde, n'accepte que ce poste" )
Posté : 28 mars 2008, 16:24
par violinette
Ca coince en local ! Je n'ai pas pu le mettre chez mon hébergeur car çà ne marche pas en local chez moi quand je met SAFE MODE à On !
Posté : 28 mars 2008, 17:39
par Berzemus
bon bon.. as-tu essayé avec un utilisateur par défaut ?
Dans ces lignes sous phpmyadmin:
$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = '';
Au fait, ton hébergeur ne propose pas une version pré-installée de phpmyadmin ? c'est courant, et ça t'éviterais des migraines..