Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mot de passe oublié

connexion par PHP

Sujet résolu
    25 novembre 2011 à 19:10:28

    Bonjour,

    Lorsque l'internaute-client qui a un compte clique sur le lien "Mot de passe oublié", il est invité à saisir son email qui est enregistré dans ma Base.
    L'internaute se connecte alors avec le couple Host=lambda et Password=lambda qui est prédéfini dans le script PHP qui a privilège pour se connecter.
    Mon script redéfinit un mot de passe (puisqu'il ne peut pas lire le mot de passe qui est crypté par mySQL dans la Base).
    Ce mot de passe doit, avant d'être retourné à l'internaute-client en clair, être enregistré à la place de l'ancien dans la table user.
    Pour écrire ce nouveau mot de passe, la connexion doit avoir le privilège pour updater cela.

    Question : Comment mémoriser en toute sécurité dans le script PHP les paramètres de la connexion (pas root) qui vont permettre d'écrire/écraser le nouveau mot de passe de l'internaute-client ?

    Cordialement
    Jacques.
    • Partager sur Facebook
    • Partager sur Twitter
      25 novembre 2011 à 19:32:23

      Je te propose d'utiliser un systeme de Sessions qui stockera les identifiants et que tu cryptera auparavant en md5 (ou autre) protégé par un jeton temporel !
      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2011 à 20:04:31

        Merci Naifman de t'intéresser à mon sujet.
        T'aurais pas un exemple concret pour illustrer cela ?
        • Partager sur Facebook
        • Partager sur Twitter
          25 novembre 2011 à 20:19:23

          Il s'agit d'un code tres simple , cependant , c'est a toi de le faire , je vais simplement te guider : (Il s'agit d'une facons parmis des milliers )
          1) Commence deja par demander a l'utilisateur les identifiants , tu recupereras donc la variable POST ou GET , selon ce que tu utilise .
          2) Une fois que tu as ces variables , enregistre les dans une nouvelle variable superglobale $_SESSION , dont tu cryptera auparavant la valeur qui sera contenue grace a la fonction md5() .
          3) Utilise la fonction rand() pour generer un nombre de 5 ou 6 unites de longueur , que tu stockera dans une nouvelle variable SESSION que l'on appelera $_SESSION['jeton'] .
          4) Utilise une condition qui usera du timestamp pour eliminer le jeton apres quelques minutes (5 minutes par exemple) .
          A partir de ce temps la , tu auras 5 min pour tes actions .
          5) Maintenant , verifie que la variable jeton existe pour effectuer tes actions !
          Le contenu sera dans la variable Session !
          • Partager sur Facebook
          • Partager sur Twitter
            25 novembre 2011 à 21:26:45

            L'échange et la sécurisation de la session ne me pose pas de Pb.

            Ma question porte uniquement sur:
            Comment mémoriser en toute sécurité les paramètres de connexion qui permettront de tester Host et Password dans la base mysql et qui ont les privilèges (prédéfini précédemment par un autre script) de lire le champ Host et d'updater le champ Password du client.
            Paramètres de connexion qui doivent être mémorisés en toute sécurité dans le script courant ou en liaison avec ce script et utilisé dans la commande mysql_connect('serveur', 'utilisateur', 'mot_passe');.

            Jacques.
            • Partager sur Facebook
            • Partager sur Twitter
              25 novembre 2011 à 22:00:03

              Justement , tu les stockera dans une session (Si tu ne les utilises pas pour longtemps) , dans un cookie , ou sinon , tu les places eux seuls dans un champ d'une table , separes par des virgules , et tu utilisera explode() pour recuperer les differents identifiants ...
              J'espere avoir repondu a ta question !
              • Partager sur Facebook
              • Partager sur Twitter

              Mot de passe oublié

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown