Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

    Bonjour,

    Je débute sur Joomla mais connais déjà le php et mysql et je bloque depuis 3 heures sur la gestion de mot de passe.

    J'en suis arrivé à intégrer le loader et importer la class user helper
    require_once( dirname(__FILE__) .'/libraries/loader.php' );
    jimport('joomla.user.helper');

    Mais ensuite pour utiliser les fonctions de cette classe il doit me manquer un truc car rien ne se passe.

    j'ai essayé ces deux fonctions :
    $psw_crypt = JUserHelper::getCryptedPassword($psw_clair, $salt).":".$salt;
    $psw_crypt = JUserHelper::genRandomPassword (8);

    et peut importe ou le les place dans mon code php, tous les echos avant fonctionne, tous les echos après n'apparaissent pas.

    comme si le code se perdait quelque part dans la la fonction ... je n'ai strictement rien a l'écran et pas d'erreur.

    Je suis en Joomla 1.5.

    Avez vous des explications sur cette fonctions ou précisions que je n'aurais pas trouvé.
    Voir d'autres méthodes me permettant de vérifier un mot de passe dans la table user.

    Merci d'avance.

  • #2
    Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

    Bonjour,
    $psw_crypt = JUserHelper::getCryptedPassword($psw_clair, $salt).":".$salt;
    ça, ça va te donner le mot de passe crypté connaissant salt et psw_clair. Ça suppose que tu aies déjà lu la table user pour récupérer le password et extrait le salt ...

    si l'objectif est de vérifier un mot de passe dans la table user, la réponse est dans le controller u com_user :

    Code PHP:
    $options = array();
    $options['remember'] = JRequest::getBool('remember'false); 
    $options['return'] = $return

    $credentials = array();
    $credentials['username'] = JRequest::getVar('username''''method''username');
    $credentials['password'] = JRequest::getString('passwd''''post'JREQUEST_ALLOWRAW);

    //perform the login action
    $error $mainframe->login($credentials$options);

    if(!
    JError::isError($error))     {
        
    //  OK
    } else {
        
    // pas OK

    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

      Envoyé par Tomawaky Voir le message
      et peut importe ou le les place dans mon code php, tous les echos avant fonctionne, tous les echos après n'apparaissent pas.
      Forte présomption d'erreur php avec arrêt du script.

      Tu est certain que ta classe JUserHelper est bien chargée ?

      Vérifie-le en utilisant la fonction class_exists :

      Envoyé par Tomawaky Voir le message
      require_once( dirname(__FILE__) .'/libraries/loader.php' );
      jimport('joomla.user.helper');

      die( class_exists('JUserHelper'));

      $psw_crypt = JUserHelper::getCryptedPassword($psw_clair, $salt).":".$salt;
      $psw_crypt = JUserHelper::genRandomPassword (8);
      Fly06_Fr (http://www.fly06.fr/)
      -------------------------------------------
      Classe MooTools pour Recherche Asynchrone (Ajax) : http://forum.joomla.fr/showthread.ph...one-%28Ajax%29

      Commentaire


      • #4
        Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

        Merci pour ta réponse

        j'ai donc rajouté ca
        require_once( dirname(__FILE__) .'/components/com_user/controller.php' );

        mais a l'execution avant de pouvoir lancer ton code j'ai : Restricted access
        je ne vois pas pourquoi.

        Mais en fait, plus le fait d'utiliser une fonction spécifique, mon problème est que je n'arrive à en exécuter aucune. C'est ca qui me gene, puisque des l'appel de la fonction j'ai l'impression que mon code part sur orbite sans se reposer !

        Commentaire


        • #5
          Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

          idem le fait d'ajouter

          die( class_exists('JUserHelper'));
          me coupe tout ce qu'il y a derriere !

          Si il y a une erreur sur le PHP ca ne s'execute pas du tout genre : Parse error: syntax error, unexpected T_VARIABLE in .....

          mais la ce n'est pas le cas. Je ne comprends pas bien, mais ne vois pas comment debugger :-(

          Commentaire


          • #6
            Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

            Envoyé par Tomawaky Voir le message
            idem le fait d'ajouter

            die( class_exists('JUserHelper'));
            me coupe tout ce qu'il y a derriere !


            Magnifique ! Bientôt sur le bétisier des agences web :
            Fly06_Fr (http://www.fly06.fr/)
            -------------------------------------------
            Classe MooTools pour Recherche Asynchrone (Ajax) : http://forum.joomla.fr/showthread.ph...one-%28Ajax%29

            Commentaire


            • #7
              Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

              Re,
              Je ne comprends pas bien, mais ne vois pas comment debugger
              Je ne vois as surtout comment tu vas contrôler un mot de passe parti comme tu l'es. Tu as lu mon message ? Et si tu essayais plutôt ce que je propose ?
              Schtroumpfe toi le Schtroumpf t'aidera.
              Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

              Commentaire


              • #8
                Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

                Oui en effet j'ai repondu un peu vite mais j'avais remplacé le die par un if/else
                et au final l'appel a la fonction class_exists('JUserHelper') me donne le même résultat que si j'avais placé un die justement.

                Ensuite Grand Schtroumpf pour controler le mot de passe je recupere le salt que j'ajoute a mon mot de passe en clair que je compare a celui dans la base non ?

                Sinon, comme je l'ai dit j'ai bien tester ton code mais j'ai une Restricted access sur l'ouverture du require_once( dirname(__FILE__) .'/components/com_user/controller.php' );

                Commentaire


                • #9
                  Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

                  Envoyé par Tomawaky Voir le message
                  au final l'appel a la fonction class_exists('JUserHelper') me donne le même résultat que si j'avais placé un die justement.
                  Concrètement, elle est chargée cette classe ou pas ?

                  Envoyé par Tomawaky Voir le message
                  Sinon, comme je l'ai dit j'ai bien tester ton code mais j'ai une Restricted access sur l'ouverture du require_once( dirname(__FILE__) .'/components/com_user/controller.php' );
                  Il te faut charger l'environnement Joomla au préalable, problème récurrent expliqué 150000 fois sur le forum...

                  Sinon, regarde plutôt le code de la méthode onAuthenticate de la classe plgAuthenticationJoomla :
                  plugins/authentication/joomla.php
                  Fly06_Fr (http://www.fly06.fr/)
                  -------------------------------------------
                  Classe MooTools pour Recherche Asynchrone (Ajax) : http://forum.joomla.fr/showthread.ph...one-%28Ajax%29

                  Commentaire


                  • #10
                    Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

                    Merci pour l'aide. Je suis desolé mais j'ai certainement mal cherché et n'ai pas trouvé une des 150000 réponses sur le chargement de l'environnement Joomla.

                    Mais c'est en effet certainement ca qui ne fonctionne pas.

                    Bref j'ai fini par trouvé bcp plus simplement : je ne charge plus rien car on peut tout coder simplement. Mais je connaissais pas cette fonction md5.
                    Au final c'etait tout con. je ne sais toujours pas charger les modules Joomla mais je n'en a plus besoin. Nickel donc

                    Code:
                    list($psw,$salt)=explode(":", $psw_joomla);
                    $psw_crypt = md5($psw_clair.$salt);
                    
                    if ($psw == $psw_crypt) {
                    echo "### Password verifie ###<br>";
                    }
                    else {
                    echo "### erreur de password ###<br>";
                    }

                    Commentaire


                    • #11
                      Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

                      Re,
                      Sinon, comme je l'ai dit j'ai bien tester ton code mais j'ai une Restricted access sur l'ouverture du require_once( dirname(__FILE__) .'/components/com_user/controller.php' );
                      Ah oui j'avais pas vu que c'était pour moi...

                      Ecoute, tant qu'à faire du code sauvage, autant aller au bout...

                      Une fois que tu as récupéré $passwordlu tu testes s'il contient un ":".
                      S'il n'en contient pas tu dois avoir ($passwordlu == MD5($passwordsaisi))
                      S'il en contient un, ce qui est avant est $passwordcrypte et ce qui est après est $salt et tu dois avoir
                      ($passwordcrypte == MD5($passwordsaisi.$salt ))
                      Schtroumpfe toi le Schtroumpf t'aidera.
                      Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                      Commentaire


                      • #12
                        Re : Utilisation de la fonction JUserHelper::getCryptedPassword impossible pour moi !

                        oui c'est exactement ce que je viens de poster. Merci pour ton aide grand Schtroumpf.
                        Mais je suis un gros sauvage ;-)

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X