Zum Inhalt springen

Datenbankzugriff VBS ==> MySQL (MD5 Hash)


Empfohlene Beiträge

Geschrieben

Hallo,

habe in der Schule folgende Aufgaben bekommen:

1. Aufgabe

Bilden sie einen Anmeldedialog in VBScript ab, bei dem der Benutzer seinen Benutzernamen und sein Passwort eingibt. Ist dieser Benutzer in der Datenbank Benutzerverwaltung und der Tabelle Benutzer vorhanden, so begrüßen Sie ihn mit Namen und geben z.B. aus: „Herzlich willkommen Anja Anders“. Ist er nicht vorhanden, so geben sie aus: „Anmeldung fehlgeschlagen“. Verwenden sie das SQL-Statement: SELECT * FROM benutzer.

2. Aufgabe

In Datenbanken werden Passwörter häufig nicht im Klartext, sondern als MD5 Hash gespeichert. Wie müssen Ihre Skripte aus 1 und 2 angepasst werden, damit wir auch mit so gespeicherten Passwörtern arbeiten können.

So nun meine meine Lösung zur ersten Aufgabe:

strConnection="driver=MySQL ODBC 3.51 Driver;server=localhost;uid=root;pwd=;database=Benutzerverwaltung;option=NUM"


  bn=Inputbox ("Geben Sie den Benutzernamen ein!")

  pw=Inputbox ("Geben Sie das Passwort ein!")

  ausgabe="Anmeldung fehlgeschlagen"


sql="SELECT * FROM benutzer;"


set adoConnection=CreateObject("ADODB.Connection")

adoConnection.open strConnection

Set rs=adoConnection.execute (sql)


set Benutzername = rs.fields.item("Benutzername")

set Passwort = rs.fields.item("Passwort")

set Name = rs.fields.item("Nachname")

set Vorname = rs.fields.item("Vorname")


Do While Not rs.eof

	IF bn=Benutzername AND pw=Passwort THEN

		ausgabe= "Herzlich willkommen " & Vorname & " " & Name

	END IF	

	rs.moveNext

Loop


MsgBox ausgabe 


rs.close

Das müsste soweit alles stimmen.. (Verbesserungsvorschläge sind natürlich gerne erwünscht)

Mit der zweiten Aufgabe komme ich allerdings nicht so klar. Hat da vielleicht einer Ahnung von oder vielleicht sogar einen Lösungsansatz oder -vorschlag?

Wäre super!!

Gruß Marcel

Geschrieben

Wäre nett, wenn ihr mal drüberschauen könntent und mir sagen könntet ob das mit den Kommentaren alles so übereinstimmt.

Das VB Skript sollte so gestaltet sein, dass zum jeder Befehlszeile ein erklärender Kommentar gehört!!

'Verbindungsparameter für den Datenbankzugriff auf den MySQL Server

'Verwendet wird der ODBC 3.51 Treiber; Ip des Servers: 10.17.171.200, Benutzername: root, Passwort: Kein Passwort, Datenbank: Benutzerverwaltung

strConnection="driver=MySQL ODBC 3.51 Driver;server=localhost;uid=root;pwd=;database=Benutzerverwaltung;option=NUM"


  bn=Inputbox ("Geben Sie den Benutzernamen ein!")	'Variable für das Eingabefeld des Benutzernamens

  pw=Inputbox ("Geben Sie das Passwort ein!")	   	'Variable für das Eingabefeld des Passworts

  ausgabe="Anmeldung fehlgeschlagen"		   	'Variable für die Ausgabe bei fehlgeschlagener Anmeldung


sql="SELECT * FROM benutzer;"	'Die MySQL Abfrage (* = Alle Spalten werden ausgegeben)


set adoConnection=CreateObject("ADODB.Connection")	'	Die ADODB-Verbindung wird hergestellt

adoConnection.open strConnection			' Die Verbindung wird hergestellt

Set rs=adoConnection.execute (sql)


set Benutzername = rs.fields.item("Benutzername")	'

set Passwort = rs.fields.item("Passwort")		'

set Name = rs.fields.item("Nachname")			'

set Vorname = rs.fields.item("Vorname")			'


Do While Not rs.eof       ' Durchlaufen des Recordsets

	IF bn=Benutzername AND pw=Passwort THEN		'

		ausgabe= "Herzlich willkommen " & Vorname & " " & Name	'Die Variable "ausgabe" wird bei gefundenem Benutzer und Passwort geändert

	END IF	'Die IF-Schleife wird beendet

	rs.moveNext	'Springt zum nächsten Datensatz

Loop 	'Zum Beenden der While-Schleife


MsgBox ausgabe 	'Ausgabe in einer Nachrichtenbox


rs.close    ' Verbindung zur Datenbank wird getrennt

Wäre super, wenn ihr mir die restlichen Zeilen noch ergänzen könntet oder falls ihr Verbesserungsvorschläge habt diese ergänzen könntet..

Gruß

Geschrieben

Ich hab leider nicht so die Ahnung wie und wo ich das in mein Skript einbinden muss.

Kann vielleicht jemand die fehlenden Kommentare ergänzen??

Wäre sehr sehr dankbar !!

Geschrieben
Kann vielleicht jemand die fehlenden Kommentare ergänzen??

nö. du kannst konkrete fragen stellen, aber deine schulaufgaben wird dir hier keiner machen. beweise doch initiative und versuch es selbst, poste es anschliessend und warte auf korrekturvorschläge der forumsleute.

wenn du mal im berufsleben stehen solltest, wird dir auch kein anderer deine arbeit machen.

im übrigen gibt es keine "IF-Schleife".

belustigt,

s'Amstel

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...