Entwickler-Ecke
Sonstiges (Delphi) - Brauche hilfe beim User Login
Petros - Fr 06.08.10 18:27
Titel: Brauche hilfe beim User Login
Hallo alle zusammen!!
Da ich hier schon öffters schnelle hilfe bekommen habe wende ich mich auch diesmal wieder an euch.
ich habe google und sufu schon benutzt aber leider nicht das gefunden was ich gesucht habe..
Folgenes:
Ich habe für einen radio sender ein Admin / Mod Programm geschrieben alles Funktioniert wunderbar und ohne Probleme...
Ich möchte dort gern ein User Loginfeld einbauen.
3 sachen sollen Überprüft werden
Username, Passwort, gesperrt (1 = Ja 0 = Nein)
Beispiel:
Username + passwort + 0 = User kann das Programm benutzen
Username + passwort + 1 = das programm wird beendet
Die User Daten sollen über einen externen MYSQL Server abgefragt und überprüft werden,
Ich habe zwar Login´s in der Sufu gefunden aber leider war nicht das dabei was ich brauche..
Ich bin in den Login sachen noch ein ziehmlicher neuling daher würde ich mich über einen ansatz bzw nen link mit nem Tut. sehr freuen
MFG Petros
Delete - Fr 06.08.10 19:25
Wo ist das Problem? Du holst dir die Daten aus der Datenbank und vergleichst sie mit den eingegebenen.
Petros - Fr 06.08.10 19:58
Ja und genau da liegt mein Problem aber ich weiß leider nicht wie
Delete - Fr 06.08.10 22:33
Lass dir doch nicht alles aus der Nase ziehen. Was ist dein Problem? Der Vergleich oder wie du an die Daten aus der Datenbank kommst? (My)SQL-Tutorials gibt es genug.
elundril - Fr 06.08.10 22:38
Und für die Verbindung zur Datenbank gibt es diverse Komponenten in Delphi. ;)
Petros - Fr 06.08.10 22:41
na mit Mysql sich zu verbinden ist ja kein problem habe ja auch schon nen mysql clienten gezaubert mir geht es jetzt darum wie mache ich das das wenn ich jetzt nen UN + PW eingebe er das ausliest und dann wenn alles koreckt ist dann das programm startet...
elundril: komponeten habe ich mehr als genug daran soll es nicht scheitern....
ich benutze Delphi 7 EP
elundril - Fr 06.08.10 22:58
Wenn du eh schon nen Client für SQL geschrieben hast sollte es ja kein Problem sein sowas bei SQL abzufragen:
Quelltext
1:
| SELECT gesperrt FROM users WHERE name = edit1.text AND pw = MD5(edit2.text); |
wenn was zurückkommt, weißt du das diese benutzer existiert und brauchst nur noch auslesen ob er was schreiben darf. Wenn nix zurückkommt oder er nix schreiben darf, zurück zum login-screen.
aja, vorher noch schauen das keiner die was reinimpfen kann in das SQL-Zeug.
Ausreichende Ideen geliefert?
lg elundril
Petros - Fr 06.08.10 23:03
Danke elundril für den anfang schon ganz gut ist schon mal einen ansatz mit dem ich was anfangen kann...
MFG Petros
elundril - Fr 06.08.10 23:06
Ich möchte aber anmerken das ich kein security-experte wie
Luckie oder
BenBE oder ein paar andere im Forum bin und deswegen auch ned auf die Sicherheit garantieren kann.
Petros - Sa 07.08.10 03:19
über die sicherheit musst du dir keine gedanken machen dein ansatz war schon ok das hilft mir auf jedenfall schon etwas weiter werde mal schauen was ich daraus machen kann wenn ich was passendes daraus gemacht habe werde ich noch mal nen tread auf machen um es da nochmal zu erläutern für andere user die so etwas suchen...
Delete - Sa 07.08.10 08:41
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| var UserNameDB: String; PasswordHashDB: String; ActivatedDB: Boolean; UserName: String; PasswordHash: String; begin UserNameDB := GetUserNameFromDB; PasswordHashDB := GetPasswordHashFromDB; ActivatedDB := GetUserStatusFromDB; UserName := edtUserName.Text; PasswordHash := Hash(edtPassword.Text); If ActivatedDB then begin if (UserNameDB = UserName) and (PasswordHashDB = PasswordHash) then begin end; else ShowMessage('Benutzer nicht aktiviert'); end; |
Das Passwort sollte nur als Hash in der DB gespeichert werden. Beim Vergleich bildet man dann den Hash von der Eingabe und vergleicht die Hashes.
Alles was du jetzt noch machen musst ist die Get...-Funktionen zu schreiben, aber das weißt du ja wie das geht, laut deiner Aussage und dir eine Hash-Funktion hier im Forum zu suchen, die kompatibel zu der Hash-Funktion ist wenn du die Daten in die DB schreibst.
Petros - Fr 10.09.10 12:32
Danke Luckie habs hin bekommen und funktioniert..
MFG Petros
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!