You are not logged in.
Pages: 1
Bonjour,
GLPI est un logiciel que je n'utilise que peu, parce que mon besoin est faible, mais que j'ai toujours trouvé très aboutit, particulièrement dans sa procédure de mise à jour.
Cependant, aujourd'hui, j'ai un petit problème. Je suis sous Gentoo, et j'utilise mes propres ebuilds pour faire l'installation. Ça a toujours très bien fonctionné jusque là. J'avais donc la 0.83.7 et j'ai voulu passer à la 0.85.1 actuelle.
La mise à jour s'est faite, migration de la bdd sans aucun message d'erreur. Je me suis donc relogué, et là, je constate un petit soucis à l'affichage. quand je clique sur un item dans une liste, dans la nouvelle page, la partie basse (censée contenir le détail de la fiche) reste vide.
Je décide donc de fermer mon navigateur (FF) puis de réouvrir. Et là, impossible de me reloguer. Mon utilisateur ne semble plus reconnu. Je clique sur le lien "vous avez oublié votre mot de passe" pour tenter de le reset, et là, mon email non plus n'est pas reconnu. Pourtant, c'est bien celui qui est enregistré pour ce user, j'ai vérifié dans la base MySQL.
Du coup, je ne sais plus trop quoi faire.
Je n'ai pas envie de perdre le peu que j'ai parce que l'historique remonte à loin, et c'est toujours intéressant à garder.
Je n'ai pas de besoin urgent, donc je peux prendre mon temps pour vous donner les infos qu'il vous faudrait pour tenter de m'aider.
Merci d'avance.
Last edited by novazur (2015-01-10 14:25:33)
Offline
Comme ça fait comme si glpi n'était plus "lié" à ma bdd mysql, je tiens à préciser que mon config/config_db.php contient toujours les bonnes infos genre :
<?php
class DB extends DBmysql {
var $dbhost = "localhost";
var $dbuser = "moi";
var $dbpassword= "mon_passe";
var $dbdefault = "ma_bdd";
}
à moins que désormais, les infos de connexion à la bdd doivent être trouvées ailleurs...
Offline
Non les infos de la BD D sont toujours au même endroit.
Avez vous des erreurs dans les logs ?
Vous avez quelle version de PHP et MySQL ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Déjà merci d'avoir pris mon cas en considération
De quels logs parlez-vous ? Log apache ? je n'y vois rien de particulier
php-5.5.20 et mysql-5.5.40 (les derniers en date sur gentoo.
Par contre, je viens d'expérimenter quelque chose de très bizarre.
Je me suis connecté avec un autre user (non admin). Je me suis déconneté, et même problème que pour le premier, impossible de me reconnecter. Comme si le mot de passe avait changé lors de ma connexion...
J'ai tenté l'aventure avec encore un autre user enregistré, idem.
J'ai testé avec un autre navigateur (konqueror), pas mieux.
Je continue à investiguer, mais il n'y aurait pas un "truc" qui modifirait la bdd après connexion, dont le mdp ?
Offline
Je continue à investiguer, mais il n'y aurait pas un "truc" qui modifirait la bdd après connexion, dont le mdp ?
Je confirme ! Le problème vient bien de là.
J'ai modifié le pwd d'un user, directement dans la bdd par MD5(). J'ai pu me connecter avec, et voir que le pwd était aussitôt modifié dans la bdd.
Avant la connexion, le pwd enregistré encodé était : 26b568e4192a164d5b3eacdbd632bc2e
et dès la connexion il est devenu $2y$10$waVJ1tN494kgdvb7U0abQOP9Ew878tbOQ
J'indique ces valeurs parce que leur forme peut sans doute vous mettre la puce à l'oreille.
Last edited by novazur (2015-01-10 14:26:50)
Offline
J'ai continué à fouiller un peu, et je pense que l'on peut reconnaitre du crypt blowfish dans ces mots de passe (je n'y connais rien, mais je sais lire). Et je crois comprendre que pour que php puisse l'utiliser, il faut que le support soit pris en compte dans le noyau. Or, ça ne semble pas le cas chez moi.
J'ai cherché dans la bdd (table configs) s'il y avait une option pour choisir le type de cryptage des mots de passe, mais je n'y vois rien du genre.
Il doit bien y avoir le moyen d'empêcher l'usage de cette lib lib/password_compat/ non ?
Je suppose que ça serait la solution pour moi, et sans doute pas que pour moi.
Last edited by novazur (2015-01-10 14:27:40)
Offline
en même temps, quand je regarde le phpinfo, j'ai :
mcrypt support enabled
mcrypt_filter support enabled
Version 2.5.8
Api No 20021217
Supported ciphers cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Désolé d'en mettre 3 tonnes, mais j'essaye de mettre un max d'infos avant le passage d'un lecteur éclairé
Offline
Bon, je n'ai ni les compétences, ni les moyens en temps de chercher à savoir pourquoi le mot de passe est re-hashé puis ré-enregistré à la connexion (mais ça me semble quand même un peu fou comme principe), j'ai donc commenté la ligne 409 du fichier inc/auth.class.php, ce qui donne :
// Update password if needed
if (self::needRehash($password_db)) {
$input['id'] = $DB->result($result, 0, "id");
// Set glpiID to allow passwod update
$_SESSION['glpiID'] = $input['id'];
$input['password'] = $password;
$input['password2'] = $password;
$user = new User();
// $user->update($input);
}
et comme ça, plus de "update password même si needed".
Je peux donc maintenant me connecter et déconnecter sans problème.
Offline
J'ai le meme pb apres une update de GLPI ..
C'est quand meme fou ce genre de truc.
Pour info, j'ai tenté ta solution qui ne fonctionne pas pour moi ...
Offline
Attention, pour que "ma solution" fonctionne, il faut que tu remettes manuellement le bon mot de passe à ton user dans la base mysql, crypté par MD5 (simple avec mysql). La modif indiquée ci-dessus empêche GLPI de modifier à nouveau le mot de passe dès la connexion, mais ça ne rétablie aucunement ton mot de passe quand il a déjà été modifié.
Offline
Le cryptage est en SHA1 non en MD5
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Avant la connexion, le pwd enregistré encodé était : 26b568e4192a164d5b3eacdbd632bc2e
et dès la connexion il est devenu $2y$10$waVJ1tN494kgdvb7U0abQOP9Ew878tbOQ
C'est le comportement normal.
MD5 ou SHA1 n'étant pas sécurisés (et surtout pas adaptés au stockage des mots de passe), lorsque php 5.5 est utilisé, les ancien mots de passe sont automatiquement convertit, cf http://fr2.php.net/password
P.S. SHA1 fonctionne toujours, surtout pour permettre la mise à niveau et le fonctionnement avec php <= 5.4
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Le cryptage est en SHA1 non en MD5
Et non justement. Faut voir à tout lire, je l'ai démontré précédemment. Le cryptage précédent des mots de passe dans ma bdd est bien en MD5. Et c'est en MD5 que je dois les remettre pour pouvoir m'y connecter.
Last edited by novazur (2015-01-10 14:28:42)
Offline
Avant la connexion, le pwd enregistré encodé était : 26b568e4192a164d5b3eacdbd632bc2e
et dès la connexion il est devenu $2y$10$waVJ1tN494kgdvb7U0abQOP9Ew878tbOQC'est le comportement normal.
MD5 ou SHA1 n'étant pas sécurisés (et surtout pas adaptés au stockage des mots de passe), lorsque php 5.5 est utilisé, les ancien mots de passe sont automatiquement convertit, cf http://fr2.php.net/passwordP.S. SHA1 fonctionne toujours, surtout pour permettre la mise à niveau et le fonctionnement avec php <= 5.4
Je comprends bien le principe, mais il ne fonctionne pas, en tout cas pas partout, et pas chez moi, puisque quand le cryptage du mot de passe est modifié, je ne peux plus me connecter, tel que démontré dans ce fil de discussion.
Il m'a donc fallu désactiver cette modification automatique de cryptage de mot de passe pour parvenir à me connecter, vu que personne n'était là pour me dire comment résoudre le problème.
Last edited by novazur (2015-01-09 18:33:59)
Offline
Étant entendu que plusieurs problèmes qui surviennent en même temps ont souvent une cause commune, et que mon problème initial, développé dans http://www.glpi-project.org/forum/viewt … p?id=45657 avait trouvé sa solution dans la relance de la migration, j'ai donc réactivé la modification auto du mot de passe en remettant inc/auth.class.php dans sa version d'origine, et bien entendu, plus de bug. La modification du hashage du password a toujours lieu, mais maintenant, je parviens à me reconnecter avec.
Mon problème est donc résolu, le fil peut être clos.
Note à troublestarter : ta migration s'est sans doute mal passée.
Note aux devels : la migration ne se passe pas toujours bien dès la première fois, la preuve. C'est un élément à prendre en compte pour les futures plaintes du genre.
Offline
Nous prenons note de votre remarque mais concernant votre cas particulier, v ous êtes le seul à nous l'avoir signalé pour le moment.
Merci du retour.
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Pas sur que je sois le seul puisque troublestarter se plaint du même problème.
Et puis, la version 0.85.1 n'est pas vieille... Et enfin, je suis peut-être le seul à l'avoir déclaré ici, cela ne veut pas dire que je sois le seul dans le cas.
Offline
Bonjour,
Moi j'ai exactement le même problème depuis une semaine.
J'avais la version précédente de GLPI, j'ai fait la mise à jour pour essayer les nouveautés de la 0.85 et là surprise, je peut me connecter une seule fois sur mon compte. une fois que je me déconnecte, il m'est impossible de me loguer. comme si je me trompé de mot de passe.
Je suis donc obligé de ré-attribuer le mot de passe glpi pour pouvoir à chaque fois me connecter :
update glpi_users set password='0915bd0a5c6e56d8f38ca2b390857d4949073f41' where name='glpi';
pour pouvoir à chaque fois me connecter.
JE vais essayer l'astuce de novazur en commentant la ligne
Update password if needed
en attendant de vos nouvelles pour régler ce petit problème.
Merci d'avance,
GLPI 0.85.2
mysql 5.5.41
Linux GLPI 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux
PHP 5.4.36-0+deb7u3
Last edited by info-sdb (2015-03-06 16:34:28)
Offline
Pages: 1