Autor Beitrag
Petros
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Fr 06.08.10 18:27 
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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Fr 06.08.10 19:58 
Ja und genau da liegt mein Problem aber ich weiß leider nicht wie
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 06.08.10 22:38 
Und für die Verbindung zur Datenbank gibt es diverse Komponenten in Delphi. ;)

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: 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:

ausblenden 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

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 06.08.10 23:06 
Ich möchte aber anmerken das ich kein security-experte wie user profile iconLuckie oder user profile iconBenBE oder ein paar andere im Forum bin und deswegen auch ned auf die Sicherheit garantieren kann.

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: 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...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 07.08.10 08:41 
ausblenden 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
      // Benutzer aktiviert und gültig
    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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Fr 10.09.10 12:32 
Danke Luckie habs hin bekommen und funktioniert..

MFG Petros