encryptage du mot de passe dans la dernière version de joomla pour login avec iphone

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

  • [Problème] encryptage du mot de passe dans la dernière version de joomla pour login avec iphone

    Bonjour, je suis un utilisateur joomla et j'essaye de créer une application iphone et l'ipad. Je suis juste arrêté par le moment où je dois comparer le mot de passe d'utilisateur et mot de passe chiffré de ma base sql ... J'ai essayé beaucoup de choses mais rien ne fonctionne! Quelqu'un peut-il m'aider? Je veux juste faire une authentification sur mon application iphone pour me connecter à mon site web joomla...

    J'utilise Xcode pour développer l'application ... et le fichier php pour comparer le mot de passe saisie dans l'appli et le mot de passe stocké dans ma base joom_users
    Je sais comment faire pour se connecter avec le login et mot de passe simples stockés dans une table mais pas avec ceux cryptés ...

    Merci pour toute aide que vous pourriez m'apporter ... en fait il me manque la méthode d'encryptage...

  • #2
    Re : encryptage du mot de passe dans la dernière version de joomla pour login avec ip

    Bonjour,

    et bienvenue sur le forum.

    Voir le code des méthodes dans /libraries//joomla/user/authentication.php
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : encryptage du mot de passe dans la dernière version de joomla pour login avec ip

      Bonjour et merci pour l'accueil, j'ai regardé ce fichier, et je ne vois pas où se trouvent les méthodes d'encryptage des mots de passe? Je suis toujours bloqué, auriez vous une piste plus précise pour m'éclairer?

      Je récupère d'un côté mon mdp crypté dans ma base de données et de l'autre, le post du mot de passe normal envoyé par l'utilisateur... ça parait tout simple, il faut que j'encode le mdp posté et que je le compare au mdp crypté pour donner accès à la suite de mon appli...

      Merci d'avance pour votre précieuse aide!

      Commentaire


      • #4
        Re : encryptage du mot de passe dans la dernière version de joomla pour login avec ip

        Voir le fichier /libraries/joomla/user/helper.php

        La méthode verifyPassword qui teste les divers modes.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : encryptage du mot de passe dans la dernière version de joomla pour login avec ip

          Bonjour, encore moi... j'essaye non stop depuis bientôt 1 semaine... je ne comprends pas ce que je dois garder ou pas pour que ça fonctionne depuis le fichier helper.php, j'ai bien trouvé la fonction verifyPassword, mais je ne comprends pas comment l'intégrer à mon code??

          voici où j'en suis, que dois-je garder, modifier ou retirer de mon code??
          Dans l'exemple, j'ai imposé le mot de passe...




          Code:
          [PHP]
          
          <?php
          
          //////////// RECUPERER L'UTILISATEUR CONNECTE SOUS JOOMLA  //////////////
          // définir le chemin permettant d'accéder à Joomla
          define('JPATH_BASE', '/homepages/3/d449947500/htdocs/joomla/');
          define( '_JEXEC', 1 );
          define( 'DS', DIRECTORY_SEPARATOR );
          
          require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
          require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
          
          JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;
          
          $mainframe =& JFactory::getApplication('site');
          $user =& JFactory::getUser();
          $proprio = $user->username;
          $password_encrypt = $user->password;
          
          /////// RECUP DES LOGIN ET PASSWORD ENVOYER PAR L'APPLI
          if (isset($_POST["username"])  && isset($_POST["password"]) ){
          				$userName = $_POST["username"];
          				$password_appli = $_POST["password"];
          }
          else {
          $userName = "BENTARIFA";
          $password_appli = "BENTARIFA";
          }
          
          function makeSqlConnection()
          {
          $DB_HostName = "xxxxxxxxxxx";
          $DB_Name = "xxxxxxx";
          $DB_User = "xxxxxxxx";
          $DB_Pass = "xxxxxxxx";
          
          $con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error()); 
          
          mysql_select_db($DB_Name,$con) or die(mysql_error()); 
          
          return $con;
          }
          
          function disconnectSqlConnection($con)
          {
          	mysql_close($con);
          }
          
          /// connexion à la base et requete du password HASH
          	$con = makeSqlConnection();
          	
          	$sql = "select password from joom_users where username = '$userName'";
          	$mdp_hash = mysql_query($sql,$con) or die(mysql_error());
          	$row_mdp_hash = mysql_fetch_assoc($mdp_hash);
          	$totalRows_mdp_hash = mysql_num_rows($mdp_hash);
          	disconnectSqlConnection($con);
          
          echo $row_mdp_hash['password'];
          $hash = $row_mdp_hash['password'];
          
          
          ////////// CODE VERIF /////////////////
          
          /**
           * Authorisation helper class, provides static methods to perform various tasks relevant
           * to the Joomla user and authorisation classes
           *
           * This class has influences and some method logic from the Horde Auth package
           *
           * @package     Joomla.Platform
           * @subpackage  User
           * @since       11.1
           */
          abstract class JUserHelper
          {
          	
          	/**
          	 * Formats a password using the current encryption. If the user ID is given
          	 * and the hash does not fit the current hashing algorithm, it automatically
          	 * updates the hash.
          	 *
          	 * @param   string   $password  The plaintext password to check.
          	 * @param   string   $hash      The hash to verify against.
          	 * @param   integer  $user_id   ID of the user if the password hash should be updated
          	 *
          	 * @return  boolean  True if the password and hash match, false otherwise
          	 *
          	 * @since   3.2.1
          	 */
          public static function verifyPassword($password_appli, $hash, $user_id = 412)
          	{
          		$rehash = false;
          		$match = false;
          
          		// If we are using phpass
          		if (strpos($hash, '$P$') === 0)
          		{
          			// Use PHPass's portable hashes with a cost of 10.
          			$phpass = new PasswordHash(10, true);
          
          			$match = $phpass->CheckPassword($password_appli, $hash);
          
          			$rehash = false;
          			echo "pas cool";
          		}
          		else
          		{
          			// Check the password
          			$parts = explode(':', $hash);
          			$crypt = $parts[0];
          			$salt  = @$parts[1];
          
          			$rehash = true;
          
          			$testcrypt = md5($password_appli . $salt) . ($salt ? ':' . $salt : '');
          
          			$match = JCrypt::timingSafeCompare($hash, $testcrypt);
          		}
          
          		// If we have a match and rehash = true, rehash the password with the current algorithm.
          		if ((int) $user_id > 0 && $match && $rehash)
          		{
          			$user = new JUser($user_id);
          			$user->password = self::hashPassword($password_appli);
          			$user->save();
          		}
          
          		return $match;
          		echo "cool";
          	}
          }
          
          //////FIN COMPARAISON PASSWORD
          
          
          
          ?>
          
          [/PHP]

          Commentaire


          • #6
            Re : encryptage du mot de passe dans la dernière version de joomla pour login avec ip

            Puisque tu charges l'API Joomla!, pourquoi diable ne pas l'utiliser complètement (JDatabase, les fonctions de vérification du mot de passe...) au lieu de vouloir réinventer la roue et l'eau tiède.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X