MODE SAFE On

violinette
Invité n'ayant pas de compte PHPfrance

24 mars 2008, 19:51

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 !!

ViPHP
ViPHP | 5924 Messages

24 mars 2008, 20:15

A mon avis, tu n'as pas configuré ton phpmyadmin, as-tu bien entré tes identifiants dans la configuration de phpmyadmin ?

violinette
Invité n'ayant pas de compte PHPfrance

24 mars 2008, 22:53

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 ?

ViPHP
ViPHP | 5924 Messages

24 mars 2008, 23:00

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 ?

Invité
Invité n'ayant pas de compte PHPfrance

24 mars 2008, 23:14

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'.

violinette
Invité n'ayant pas de compte PHPfrance

27 mars 2008, 14:02

Au secours ! Il n'y a vraiment personne pour m'aider ??

ViPHP
ViPHP | 4039 Messages

27 mars 2008, 17:10

quid des mots de passe ? y'en a un pour tous les comptes ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

violinette
Invité n'ayant pas de compte PHPfrance

27 mars 2008, 17:48

Non. Le mot de passe est juste pour l'utilisateur 'moncompte'. Le compte root n'en a pas.

ViPHP
ViPHP | 4039 Messages

27 mars 2008, 17:54

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..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

violinette
Invité n'ayant pas de compte PHPfrance

27 mars 2008, 19:26

OK. Mais pour l'option SAFE MODE on ?

ViPHP
ViPHP | 4039 Messages

28 mars 2008, 11:15

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).
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

violinette
Invité n'ayant pas de compte PHPfrance

28 mars 2008, 14:05

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 ?

ViPHP
ViPHP | 4039 Messages

28 mars 2008, 15:01

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" )
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

violinette
Invité n'ayant pas de compte PHPfrance

28 mars 2008, 16:24

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 !

ViPHP
ViPHP | 4039 Messages

28 mars 2008, 17:39

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..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.