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
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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...