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

MkFramework Discussion :

Problème de hashage mot de passe


Sujet :

MkFramework

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut Problème de hashage mot de passe
    Bonjour,

    J'ai créé un système d'authentification à partir du builder, mais lorsque je veux éditer un user, il m'affiche dans mon champ de mot de passe, le mot de passe hashé. Lorsque je modifie ce mot de passe il va en clair dans la db.

    J'ai le même souci lors de la création d'un user, le mot de passe va en clair dans la db.

    Comment puis-je résoudre ce souci ?

    D'avance merci

    P.S. : Si la question à déjà été posée, je m'en excuse d'avance mais je n'ai pas trouvé.

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour éditer un user, vous passez par le module créé par le builder ? celui-ci doit hasher le mot de passe pour le stoqué "non en clair" en base
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Oui je suis passé par le builder, mais je ne sais pas pour quelle raison il le met en clair dans la DB

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Je viens de régénérer via le builder, la seule chose que je peux faire c'est modifier le groupe, mais je ne peux pas via la parti généré par le builder modifer le mot de passe
    Vous avez pas putot généré un CRUD ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Je suis vraiment désolé c'est en effet pas mon jour et donc je vous fais perdre votre temps.

    En effet, j'ai créer le système d'authentification via le builder et puis j'ai créé un crud sur mes tables.

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pas de soucis, donc utilisez le builder pour créer l'authentification avec inscription pour vous faciliter la suite
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Si j'utilise ce builder, les utilisateurs pourront s'inscrire eux même, et cela je ne le veux pas sur mon application.

    N'y a-t-il pas un autre moyen ? Ou alors je n'ai pas tout suivi

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous pouvez créer sans le formulaire d'inscription
    Vous aurez ainsi à créer la méthode permettant de hasher le mot de passe des utilisateurs, ensuite dans votre CRUD d'utilisateur vous pourrez l'appeler à l'enregistrement de votre module
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    La méthode pour hasher le mot de passe, elle n'est pas créée lorsqu'on fait un builder du module authentification sans inscription ?
    Comment appeler cette méthode dans mon crud une fois qu'elle existe ?

  10. #10
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Cette méthode est nécessaire à l'authentification: on recoit le mot de passe en clair, on le hash pour verifier en base de donnée où il est stoquée hashé

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     public function hashPassword($sPassword){
           //utiliser ici la methode de votre choix pour hasher votre mot de passe
           return sha1('2votreSelAchanger2'.$sPassword);
       }

    Donc oui: exactement le builder proposer ce code à copier/coller dans votre classe modèle d'utilisateurs
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Dans le builder, lorsque j'ai fais "Créer un module d'authentification" j'ai du ajouter ces lignes à ma classe modèle d'utilisateurs.
    Elles sont bien présentes dans mon code.

    Donc maintenant, que puis-je mettre en place pour que dans le CRUD créer pour remplir ma DB users, il tienne compte de cela afin de hasher mon mot de passe, tant pour la création d'un nouvel utilisateur, que pour l'édition d'un utilisateur existant ?

    Si j'en demande trop, n'hésitez pas à la dire ^^ Je vous remercie encore pour le temps passer avec moi

  12. #12
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    C'est très simple, dans votre module CRUD utilisateur
    Dans le fichier main.php, méthode processSave()
    Code php : 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
    private function processSave(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
    		$oPluginXsrf=new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    			return array('token'=>$oPluginXsrf->getMessage() );
    		}
     
    		$iId=_root::getParam('id',null);
    		if($iId==null){
    			$oUsers=new row_Users;	
    		}else{
    			$oUsers=model_Users::getInstance()->findById( _root::getParam('id',null) );
    		}
     
    		$tColumn=array('login','password','groups_id');
    		foreach($tColumn as $sColumn){
    			$oUsers->$sColumn=_root::getParam($sColumn,null) ;
    		}
     
    		//ICI

    Donc apres l'enregistrement via cette boucle sur les propriétés, on ajoute par exemple pour un champ mot de passe "password" et une classe modèle model_Users.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		//ICI
    		//on hash
    		$oUsers->password=model_Users::getInstance()->hashPassword($oUsers->password);
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    J'ai effectué les changements et ça fonctionne correctement !

    Merci pour votre aide, et pour le temps passé à m'aider !

  14. #14
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Merci à vous d'utiliser ce framework, vous pouvez passer le topic en "résolu" avec le bouton ci dessous

    A votre dispo
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #15
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Bonsoir,

    J'ai suivi le sujet, très intéressant. mon problème est presque similaire. Je bute sur la partie 'edit' de l'utilisateur connecté.
    En effet dans ma vue utilisateurs/view/edit.php les informations(relatives à l'utilisateur connecté) de la table 'utilisateurs' s'affichent, avec, pour le mot de passe, une longue suite de caractères issus du hashage(c'est normal).
    Je voudrais faire le processus inverse c'est à dire le déhashage (j’espère que ça se dit) du mot de passe afin qu'il s'affiche en clair dans le formulaire d'édition.
    Comment faire cela?

  16. #16
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Ce n'est pas possible, c'est le but

    L'idée de la sécurisation des mots de passe est simple: l'utilisateur entre une première fois son mot de passe en clair, on le passe dans un halgorythme qui crée une empreinte non reversible.

    On stoque donc cette emprunte "sécurisée".

    Lorsque l'utilisateur se logue, il saisi son mot de passe en clair dans le formulaire (il le connait), on le repasse dans le même algo, et on verifie l'empreinte générée

    Ce n'est pas du chiffrage/dechiffrage (comme base4_encode/base64_decode), c'est du hashage

    Si on vole votre base de donnée, le hackeur vole les logins (en clair) mais pas les mots de passe
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  17. #17
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    OK, donc si l'utilisateur veut modifier son mot de passe, je vais lui faire ressaisir son ancien mot de passe (pour m'assurer que c'est vraiment le bon utilisateur) et comparer l'empreinte de celui ci avec l'empreinte présente dans la base. S'ils sont identiques alors je lui permet d'enregistrer un nouveau mot de passe. C'est bien cela qu'il faut faire?

  18. #18
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Exactement

    C'est pour cela que sur les sites "sécurisé" quand on dit mot de passe oublié, on ne recoit pas son mot de passe, mais un lien permettant de l'écraser
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  19. #19
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    super super, je comprend beaucoup de choses du coup. Je me le suis toujours demandé. merci encore.

  20. #20
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    De rien, bon courage pour la suite
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/02/2014, 10h42
  2. Réponses: 1
    Dernier message: 27/08/2012, 13h56
  3. Problème textbox et mot de passe
    Par azertym dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2012, 13h38
  4. problèmes BO (install/mot de passe)
    Par purplebamboo dans le forum Débuter
    Réponses: 5
    Dernier message: 30/11/2009, 12h27
  5. Réponses: 0
    Dernier message: 07/11/2009, 14h41

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