penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006
-
31 janv. 2005 à 14:44
penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006
-
2 févr. 2005 à 17:12
bonjour,
je suis en train de créer un écran de login pour un de mes prog.
j'ai créé une db avec une seule table dans laquelle on retrouve les noms et mot de passe des utilisateurs.
dans ma page de login, j'ai mis une combo que je rempli avec un datareader et qui va contenir les noms des utilisateurs.
en dessous de la combo, j'ai une textbox qui va permettre l'utilisateur d'entrer son mot de passe
mais je ne sais vraiment pas comment m'y prendre pour que lorsqu'un
utilisateur choisit son nom dans la combo, le test vérifie dans la db
si c'est bien son mot de passe.
je sais c'est pas très clair, mais je crois que vous me comprenez, (du moins j'espère)
penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006 31 janv. 2005 à 15:16
imagine, dans la combo il ya user1
user2
user3
user1 a comme mot depasse : 123456
user2 a comme mot depasse : 111111
user3 a comme mot depasse : 172589
et je voudrais que lorsque user2 choisit son nom dans la combo, on teste si son mot de passe est bien celui qui lui est attribué dans la db (donc ici, 111111).
cs_trabice
Messages postés328Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention24 novembre 20051 31 janv. 2005 à 15:21
oui, mais VB est un langage evenementiel.
dc la vérification,tu ve kel se fasse kan,parce qu'avec ce que je lis,
j'ai l impression que tu ve kil saisisse le MDP et ke kan il clic sur la combo,on test voir si c bon.
tu ve mettre un bouton non??
penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006 31 janv. 2005 à 15:23
oui je met un bouton
l'utilisateur choisit son nom dans la combo
a partir de ce moment, il entre son mot de passe (qui est dans la db)
puis il clique sur un bouton valider.
si le mot de passe qu'il a entré est bien celui qui lui correspond dans la db, l'application s'ouvre, sinon on redemande le bon mot de passe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006 31 janv. 2005 à 15:37
ah oui très clair.
mais ya un truc que je ne comprend pas, c'est le fait qu'il me retourne une ligne. que veux-tu qu'il me renvoie?
donc en fait, je dois faire :
dim requete as string = "select * from utilisateurs where login="+'"combobox1.text"'+"and password="+'"textbox1.text"' ";
mais quand je fais ca, je fais quoi avec???
désolé de faire mon embétant comme ca mais je débute en vb.net
cs_trabice
Messages postés328Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention24 novembre 20051 31 janv. 2005 à 16:24
désolé j'utilise pa de oledb..
sinon tu fai req=count(*) from ....
et tu récupere la valeur de retour.
tu sé récupéré le résultat d'une req ou pas du tout??
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 31 janv. 2005 à 23:50
Je vais vous paraitre pénible, mais au diable où est la sécurité ?
si tu utilises ca comme requete SQL : dim requete as string = "select * from utilisateurs where login="+'"combobox1.text"'+"and password="+'"textbox1.text"' ";
j'espere que ce n'est pas une application critique ...
parce que si un petit malin veut se connecter il n'a qu'a mettre dans le password : ' or 1=1 --
ta chaine SQL sera donc :
select * from
utilisateurs where login='Cyri'l and password='' or 1=1 -- ' et la il
va te retourner au moins une ligne, l'utilisateur aura accés à ton
application.
cs_trabice
Messages postés328Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention24 novembre 20051 1 févr. 2005 à 09:47
bonjour a tous.
merci pour ta remarque constructive,en effet j'avais vu ce point en cours mais j'aurai bien aimé avoir ta solution :-)
select * from utilisateurs where login='Cyri'l and password='' or 1=1 -- ' et la il va te retourner au moins une ligne, l'utilisateur aura accés à ton application.
tu dis au moins une ligne ou 1 ligne.
car mon test c'était = 1 et pas >=1
ca peut passer ?