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

Zend Framework PHP Discussion :

Cryptage du mot de passe [ZF 1.10]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut Cryptage du mot de passe
    Bonjour,

    Je fais appel à vous pour un problème de sécurité, après avoir mis en place Zend_Auth, je me suis uppercut qu'en base de données les mots de passes étaient en clair ce qui bien entendu est plutôt gênant.

    Je ne sais pas trop ou agir dans le code pour modifier cela ni même si je doit encrypter moi même en créant ma propre fonction, utiliser MD5 ou bien une fonction propre à Zend.

    Voici mon formulaire d'inscription :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
     
    class Application_Form_Inscription extends Zend_Form
    {
        public function __construct($options = null)
        {
            parent::__construct($options);
            $this->setName('inscription');
     
            $id = new Zend_Form_Element_Hidden('id');
     
            $login = new Zend_Form_Element_Text("username");
            $login->setLabel('Utilisateur : ')
            		// on rend le champs obligatoire
                    ->setRequired(true)
                    // supprime le HTML non désiré
                    ->addFilter('StripTags')
                    // supprime les espaces 
                    ->addFilter('StringTrim')
                    //on interdit les saisis vides
                    ->addValidator('NotEmpty');
     
            $mdp = new Zend_Form_Element_Password('password');
            $mdp->setLabel('Mot de passe : ')
            	// on rend le champs obligatoire
                ->setRequired(true)
                // supprime le HTML non désiré
                ->addFilter('StripTags')
                // supprime les espaces 
                ->addFilter('StringTrim')
                //on interdit les saisis vides
                ->addValidator('NotEmpty');
     
    		$role = new Zend_Form_Element_Text("role");
            $role->setLabel('Role : ')
            		// on rend le champs obligatoire
                    ->setRequired(true)
                    // supprime le HTML non désiré
                    ->addFilter('StripTags')
                    // supprime les espaces 
                    ->addFilter('StringTrim')
                    //on interdit les saisis vides
                    ->addValidator('NotEmpty');
     
            $envoyer = new Zend_Form_Element_Submit('inscrire');
            $envoyer->setAttrib('id', 'boutoninscrire');
            $this->addElements(array($login, $mdp, $role, $envoyer));
    	}
    }
    Voici mon formulaire de login :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    class Application_Form_Login extends Zend_Form
    {
        public function __construct($options = null)
        {
            parent::__construct($options);
            $this->setName('login');
     
            $login = new Zend_Form_Element_Text('login');
            $login->setLabel('Login')
            		// on rend le champs obligatoire
                    ->setRequired(true)
                    // supprime le HTML non désiré
                    ->addFilter('StripTags')
                    // supprime les espaces 
                    ->addFilter('StringTrim')
                    //on interdit les saisis vides
                    ->addValidator('NotEmpty');
     
            $mdp = new Zend_Form_Element_Text('mdp');
            $mdp->setLabel('MDP')
            	// on rend le champs obligatoire
                ->setRequired(true)
                // supprime le HTML non désiré
                ->addFilter('StripTags')
                // supprime les espaces 
                ->addFilter('StringTrim')
                //on interdit les saisis vides
                ->addValidator('NotEmpty');
     
            $envoyer = new Zend_Form_Element_Submit('Se connecter');
            $envoyer->setAttrib('boutonconnecter');
            $this->addElements(array($login, $mdp, $envoyer));
    	}
    }
    Peut être faut-il encoder autre part ?

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    tu dois utiliser la fonction md5() avant d'enregistrer ton mot de passe
    puis avec Zend_Auth tu dois préciser que c'est du md5

    $adapter = new Zend_Auth_Adapter_DbTable($db, 'user', 'login', 'pass', 'MD5(?)');

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    Merci beaucoup

    En réalité c'étais beaucoup plus simple que ce qu'il paraissait, mais est ce que MD5 offre une protection suffisante ?

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Regarde sur le net, plein de sujet débates de cela....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cryptage de mot de passe
    Par DJBORIE dans le forum Access
    Réponses: 3
    Dernier message: 17/02/2006, 15h10
  2. cryptage de mot de passe
    Par chti_juanito dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/02/2006, 23h29
  3. Oracle 9i - Cryptage de mots de passe sous sql
    Par momo9237 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/01/2006, 11h11
  4. [VB.NET] cryptage de mot de passe.
    Par leSeb dans le forum Windows Forms
    Réponses: 16
    Dernier message: 28/05/2005, 14h06
  5. [cryptage] cryptage de mot de passe
    Par LoLoSS dans le forum Sécurité
    Réponses: 5
    Dernier message: 11/05/2004, 12h04

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