IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

hachage mot de passe


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 80
    Par défaut hachage mot de passe
    Bonjour à tous

    J'ai une base de données avec une table d'utilisateur, pour des raisons propres a mon projet sfDoctrineGuardplugin semble ne pas être adapter a ma gestion d'utilisateur.Raison pour laquelle je gere mes utilisateurs à l'ancienne.
    Voila mon probleme.je veux hacher le mot de passe de mon user des son incription.Pour cela j'ai surcharger la methode setPassword comme suit dans lib/model/utilisateur.class.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function setPassword($password)
        {
            return $this->_set('password', md5($password));
        }
    et ça marche sans problème, sauf que lorsque je veux éditer le même utilisateur sans modifier son mot de passe, symfony considère que le champ password est a vide et il modifie son mot de passe.Et si je laisse le champ password visible l'utilisateur peut être tenté de croire qu'il a un mauvais mot de passe vu qu'il est haché.
    Comment faire pour modifier les donnes d'un user sans que le mot de passe n'en souffre(si on n'y touche pas volontairement).

    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 57
    Par défaut
    Bonjour,

    A mon avis tu peut contourné facilement ce problème, met ton vrai password dans un input type hidden (ou même pas), crée un nouveau widget pour ton nouveau mot de passe. une fois ton formulaire envoyé tu peut jouer avec les valeurs dans la fonction "processValues($values)" de ta form en testant la valeur de ton nouveau mot de passe, si elle n'est pas vide alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values['password'] = $values['new_password'];unset($values['new_password']);
    et si ton nouveau mot de passe est vide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unset($values['new_password']);unset($values['
    password']);
    dans ce cas password ne serra pas pris en compte

    Bon courage.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 80
    Par défaut
    euh... s'il te plaît est ce que tu peux m'en dire plus sur la fonction processValue() suis encore au niveau débutant en symfony
    Merci!

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Même si l'idée d'utiliser processValue me semble pertinente, je pense qu'il y a, ici, plus simple.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # setter dans le modèle
    public function setPassword( $password )
    {
        if ( !$password == '' )
                  $this->_set( 'password', md5( $password ) );
        return $this;
    }
    A noter qu'il me semblerait bon de geler le getter aussi et de rajouter une méthode pour vérifier qu'un password saisi soit valide.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2013, 12h07
  2. Hachage de mot de passe avec Delphi.
    Par fred61 dans le forum Débuter
    Réponses: 2
    Dernier message: 26/05/2011, 16h24
  3. [MySQL] Hachage MD5 du mot de passe
    Par elixcyr dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/12/2009, 09h50
  4. [Spip] Chiffrement ou hachage du mot de passe
    Par marty499 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/03/2009, 21h40
  5. Hachage d'un mot de passe
    Par beabea dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/12/2007, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo