GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 3 févr. 2009 à 16:57
Salut,
Et bien je ne sais pas si j'ai tout à fait saisi ce que tu veux, mais je peux peut-être t'aider:
si tu souhaite consulter ta base de données à partir de ton programme, il te faut faire une requète SQL que tu insère avec le code suivant :
'Déclarations des variables
Public g_connexion As System.Data.OleDb.OleDbConnection
Public g_cmd_requete As OleDbCommand
'Dabord il faut que tu te connectes à la base de données
g_connexion = New
OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;datasource=..\Prénom.mdb;")
'Si la connexion à la base de données n'est pas ouverte :
If g_connexion.State <> ConnectionState.Open Then g_connexion.Open()
'Recherche si le prénom existe g_cmd_requete New OleDb.OleDbCommand("SELECT prenom FROM TablePrenom Where prenom '" & tonTextBox.Text & "' ", g_connexion)
'Pour récupérer le résultat
Dim str_prenom As String = CStr(g_cmd_requete.ExecuteScalar)
'Ensuite tu fais ton petit test pour renvoyer un message
If str_prenom = tonTextBox.Text then
MessageBox.Show("Le prénom existe déjà.", "Mot de Passe existant.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("Le prénom n'existe pas.", "Mot de Passe inexistant.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Bien évidemment, tu peux renommer à ta guise les variables g_connexion, g_cmd_requete et str_prenom.
De plus, "tonTextBox" correspond au textbox de ton application, celui où se trouve le prénom que tu souhaites vérifier dans la base de données.
J'espère t'être utile, et si jamais je ne réponds pas à ta question, reformule bien ce que tu veux et je verrais ce que je peux faire !
Peace
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 4 févr. 2009 à 10:06
De rien PHILOUVB, tant mieux que tu t'en sois sorti et que çà est pu t'aider !! Si tu a d'autres questions n'hésitent pas, mais par contre je ne peux t'aider pour l'injection, car j'ai a peut prêt compris mais ghuysmans99 te l'expliqueras surement bien mieux ! A plus tard.
Peace
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 9 févr. 2009 à 22:24
Attends, je change la couleur.SELECT * FROM Users WHERE UserName' admin ' AND PassWord''or 'a'= 'a';
Le texte en rose c'est le contenu d'un champ.
Le texte en noir c'est ta requête SQL.
Ici, si tu relis le SQL modifié, tu vois clairement que la condition est changée : il va filtrer sur
UserName = 'admin' et [ PassWord='' OU 'a'='a'].
Evidemment, vu que 'a'='a' il va annuler la 2e condition. Ce qui fait qu'il va prendre l'utilisateur nommé 'admin'
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 9 févr. 2009 à 22:28
(j'ai oublié un morceau !)
Donc si tu ne te protèges pas via ma fonction (ou une autre, du moment qu'elle double les guillemets), n'importe qui peut rentrer dans ta base et se logger en admin (ou tout autre compte !!).