You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2018-06-08 16:59:57

curumo29
Guest
Registered: 2018-05-30
Posts: 4

Page de login GLPI

Bonjour à toutes et à tous,

Je viens vers vous afin de savoir comment modifier une chose (qui me dérange un peu) : Quand on rentre son login/mot de passe, si on se trompe, on a des erreurs différentes selon ce qu'on a échoué :
> Si on rentre un mauvais login (donc mauvais mot de passe) : on a le message "Incorrect username or password"
> Si on rentre un bon login mais un mauvais mot de passe : on a aucun message
> Si on rentre un bon login mais un mauvais mot de passe MAIS compte est désactivé ou bloqué : on a un message
> Si on rentre un bon login et son mot de passe MAIS compte est désactivé ou bloqué : You don't have access to this application because your account was deactivated or removed

En gros, je trouve qu'un pirate qui souhaite trouver des logins valide peut le faire très facilement (rien qu'avec ces messages). Quand on va voir dans /var/www/glpi/front/login.php on peut voir que la ligne qui pose "problème" est la suivante : echo '<div class="center b">' . $auth->getErr() . '<br><br>';

Je voulais savoir si quelqu'un savait où voir la fonction getErr (et toutes les classes de GLPI).

Merci à vous d'avance.

Cordialement,
curumo29.


Debian 8.10 / PHP 5.6.33 / GLPI 9.2.3 / Fusion Inventory 9.2+2.0

Offline

#2 2018-06-12 16:18:50

curumo29
Guest
Registered: 2018-05-30
Posts: 4

Re: Page de login GLPI

Après mes recherches, j'ai pu voir que les classes étaient situées dans le répertoire /var/www/glpi/inc/.

Ainsi, pour modifier le problème des erreurs de login, il faut aller modifier le fichier auth.class.php.

Dans un premier temps, on peut voir que la fonction getErr() retourne tout simplement la variable $err de l'objet Auth.
Cette variable est vide au départ et à l'aide de la fonction addToError($message), on va ajouter les différents messages d'erreurs qui vont apparaître lors des différents cas que j'ai énuméré auparavant.

On retrouve un ajout de message d'erreur dans beaucoup de fonctions : userExists(), connection_imap(), connection_ldap(), connection_db(), Login($login_name, $login_password, $noauto=false, $remember_me=false)

Mais selon moi, cette modification est en réalité inutile étant donné qu'elle sera annulé par les prochaines mises à jour de GLPI (bien qu'on puisse refaire la manipulation)...


Debian 8.10 / PHP 5.6.33 / GLPI 9.2.3 / Fusion Inventory 9.2+2.0

Offline

Board footer

Powered by FluxBB