Pwill Deux fois Né | Bonjour !
J'ai installé récemment mysql 4.1 sur un serveur. J'ai également un serveur apache1.3.26/php à disposition.
Les deux serveurs sont sous Solaris 9 (sparc).
Le but de l'installation de mysql est en fait l'installation de grr, un gestionnaire de ressource web (cf http://www.lpi.ac-poitiers.fr/grr_lpi/).
J'ai eu des problèmes du fait que mysql 4.1 utilise un nouveau hashage (41 octets pour la fonction password() au lieu de 16 sur les versions précédentes).
Du coup lors que je configurais grr, il ne pouvait pas se connecter à la base, les mots de passe correpsondaient pas.
J'ai modifié le mdp de la table user avec un old_password('mdp') et désormais l'appli php se connecte bien à la base. Seulement l'appli accède à une table utilisateurs avec des lignes contenant un champ password... Et là, il est impossible de se loguer au sein de l'appli selon un utilisateur défini dans la table...
Me suis plongé dans le script, voici comment le test est effectué:
Code :
- $sql = "select upper(login) login, password, prenom, nom, statut, now() start, default_area, default_room, default_style, default_list_type, default_language
- from utilisateurs
- where login = '" . $_login . "' and password = md5('" . $_password . "') and etat != 'inactif'";
- $res_user = sql_query($sql);
- $num_row = sql_count($res_user);
|
J'ai testé deux types d'utilisateurs dans ma table. J'en ai un avec un mdp ancien format (16 caractères), un autre bcp plus long selon le nouveau protocol.
Dans les deux cas, le test avec md5() ne passe pas... impossible de se logger dans l'appli
Que faire ? Je passe sous mysql 4.0 ?
Merci d'avance ! |