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

WinDev Discussion :

Vérifier la validité d'un mot de passe


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Vérifier la validité d'un mot de passe
    Salut à tous (et toutes??)

    je débute sur WD16 (bientôt 17) mais j'ai une question,
    je dois gérer un mot de passe, j'ai une table "user" avec un code unique et un mot de passe.
    Je cherche à vérifier le mot de passe pour permettre ou non l'accès au reste de l'appli.

    Grosso modo, je pensais utliser Hlitrecherche et htrouve mais bon...

    j'avais écris cette ligne
    "HLitRecherche(Utilisateur,CP,COMBO_Utilisateur, sai_mdp)"
    après cette ligne j'avais une condition avec un si htrouve(utilisateur)


    CP, la clé unique
    et le combo renvoi à la liste des utilisateurs.
    J'ai aussi un champ de saisie pour le mot de passe

    je pense que je fais fausse route. si quelqu'un peu m'aiguiller

    merci par avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    A mon avis, le mieux est de cherche dans la base un enregistrement avec le code utilisateur ET le mot de passe saisi (en clair ou mieux crypté).
    Si tu trouves => OK, sinon message.
    Il faut juste éviter d'indiquer à l'utilisateur si c'est le code ou le mot de passe qui ne va pas, pour ne pas aider un passage en force brute.

    Si tu tiens vraiment à utiliser une combo pour l'utilisateur, vérifie bien qu'elle renvoie le code, et non le numéro de la ligne...

    Tatayo.

  3. #3
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    Si CP est une clé composée il faut entourer les valeurs la composant par des crochets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HLitRecherche(Utilisateur, CP, [COMBO_Utilisateur, sai_mdp])
    Mais ça me semble étrange de définir une clé composée avec user+mot de passe

    et vérifie bien ce qu'à dit tatayo concernant COMBO_Utilisateur

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Hello, merci pour vos réponses,

    Cp est une clé unique, les autres sont (à ce que j'ai compris de l'aide des paramètres de recherche)

    je vérifie l'histoire de la combo je n'y avais pas pensé... c'est ça quand on débute.
    je vous tiens au courant.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    j'ai fait ceci pour être exact

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    HLitRecherche(Utilisateur,CP,COMBO_Utilisateur..ValeurAffichée,SAI_MDP..ValeurAffichée)
     
    SI HTrouve(Utilisateur)  ALORS
     
    	Info ("ok") //pour le test seulement
    SINON
    	Info("Mot de passe erroné")
     
    FIN
    et c'est balot ca me dit toujours ok...surement parce qu'il trouve bien l'utilisateur (normal il vient de la combo) mais moi je voudrais qu'il vérifie le mot de passe en fonction de l'utilisateur


  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    CP, ta clé unique, c'est bien une clé composée qui est égale à user + mdp ?
    Si c'est le cas, alors tu dois mettre des crcohets comme on te l'as dit plus haut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    HLitRecherche(Utilisateur,CP,[COMBO_Utilisateur,SAI_MDP])
     
    SI HTrouve(Utilisateur)  ALORS
     
    	Info ("ok") //pour le test seulement
    SINON
    	Info("Mot de passe erroné")
     
    FIN
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Tu ne réponds pas à ma question concernant CP : Est-ce une clé composée ?

    Si CP est un identifiant auto je te conseille vivement de réviser la syntaxe de la fonction HLitRecherche, ça pourrait t'aider : les valeurs recherchées doivent correspondre à la rubrique indiquée.

    De plus il ne faut pas oublier que par défaut HLitRecherche fait une recherche générique, il vaut mieux utiliser HLitRecherPremier ou ajouter la constante hidentique. Tout ça est bien expliqué dans la page d'aide

    Ensuite dans la démarche je ne ferais pas comme ça : on recherche d'abord l’utilisateur, ensuite si on le trouve on vérifie le mot de passe.
    ça te permet de gérer deux niveaux d'erreur :
    1) L'utilisateur n'existe pas
    2) Le mot de passe est incorrect

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Je suis d'accord sur tout, sauf ceci:
    Citation Envoyé par hpascal Voir le message
    Ensuite dans la démarche je ne ferais pas comme ça : on recherche d'abord l’utilisateur, ensuite si on le trouve on vérifie le mot de passe.
    ça te permet de gérer deux niveaux d'erreur :
    1) L'utilisateur n'existe pas
    2) Le mot de passe est incorrect
    C'est une aide royale pour qui cherche à entrer dans l'application "par force brut", puisqu'il sait si c'est le login ou le mot de passe qui n'est pas bon. Niveau sécurité c'est moyen.

    Tatayo.

  9. #9
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Tu as raison tatayo, mais c'est en général ce que me demandent les clients.
    Quand ce ne sont pas des applications critiques bien sur et que ça reste dans le cadre de l'entreprise.
    Les utilisateurs sont ainsi prévenus si ils font une erreur de saisie.
    Dans le cadre d'un site ou d'un extranet je suis entièrement d'accord avec toi.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2011, 23h16
  2. Réponses: 0
    Dernier message: 10/11/2010, 15h15
  3. [Blog] Service web XML-RPC vérifier validité identifiant et mot de passe
    Par calitom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 05/10/2010, 18h21
  4. Vérifier un login et un mot de passe
    Par mademoizel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2007, 01h40
  5. Durée de validité d'un mot de passe
    Par aicfr dans le forum Sécurité
    Réponses: 1
    Dernier message: 09/12/2006, 14h45

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