AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken db afrage username und passwort
Thema durchsuchen
Ansicht
Themen-Optionen

db afrage username und passwort

Ein Thema von strom · begonnen am 27. Jul 2018 · letzter Beitrag vom 30. Jul 2018
Antwort Antwort
Seite 1 von 3  1 23      
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

db afrage username und passwort

  Alt 27. Jul 2018, 12:55
Datenbank: firebird • Version: 3.0 • Zugriff über: table
hallo,

mochte über eine table(username) eine abfrage starten, für username und pasword.

Wie sollte sowas aussehen?

username.SQL.Text := 'Select * from USERNAME WHERE NAME = ' + QuotedStr(Edit1.Text) + ' AND PASSWORD = ' + QuotedStr(Edit2.Text);
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#2

AW: db afrage username und passwort

  Alt 27. Jul 2018, 13:03
Die Frage ist zu unspezifisch, was hast du vor?
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: db afrage username und passwort

  Alt 27. Jul 2018, 13:29
Passwörter niemals im Klartext speichern.

Deine Komponente kann bestimmt Parameter und die sollte man verwenden,
aber wenn nicht, dann sollte man unbedingt die "richtige" Excape-Funktion verwernden und QuotedStr ist da definitiv falsch, da es eine komplett andere Syntax benutzt.



Hashen und dann den Hash vor der Übertragung berechnen, also nicht erst im Query, nach dem das Passwort im Karltext durch's Netz lief.
SELECT * FROM username WHRERE name = :name AND password = md5(:salt + :name + :passwort);
Delphi-Quellcode:
Q.SQL.Text = 'SELECT * FROM username WHRERE name = :name AND password = :pass;';
Q.ParaByName('name').AsString := Edit1.Text;
Q.ParaByName('pass').AsString := md5(salt + Edit1.Text + Edit2.Text);
Q.Open
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#4

AW: db afrage username und passwort

  Alt 27. Jul 2018, 13:34
Hallöle...

Du möchtest etwas lernen Dann sei nicht böse...
Zitat:
username.SQL.Text := 'Select * from USERNAME WHERE NAME = ' + QuotedStr(Edit1.Text) + ' AND PASSWORD = ' + QuotedStr(Edit2.Text);
...dabei rollen sich mir die Fußnägel hoch.

Begründung:
1. Der SQL Injection ist damit Tür und Tor geöffnet. Bitte verwende Parameter. https://de.wikipedia.org/wiki/SQL-Injection
2. Niemals Benutzernamen und Passwörter im Klartext in die DB speichern. Beim Benutzernamen drücke ich ein Auge zu...aber beim Passwort nicht. Setze dich mal mit Verschlüsselung, auch wenn es nur eine leichte Verschlüsselung ist, auseinander.


Geändert von haentschman (27. Jul 2018 um 13:39 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: db afrage username und passwort

  Alt 27. Jul 2018, 13:56
Noch besser gar keine Passwörter, sondern nur einen Hash (Obwohl ich heutzutage keinen MD5 mehr verwenden würde).
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: db afrage username und passwort

  Alt 27. Jul 2018, 14:12
Bei Hash's mache ich es inzwischen so, dass ich den Typ mit in den String einbaue.

Code:
md5:45453241513246
sha2a:454532415132461
Hash's kann man nich entschlüsseln, also lassen sich Passwörter nicht umkodieren, wenn man die Methode änder,
aber so kann man später etwas anderes einbauen und die alten Passwörter funktionieren weiterhin (kann man ja über ein Karenzzeit die Nutzer überreden das Passwort mal neu zu speichern, bzw. nach erfolgreichem Einloggen das Eingegebene im neuen Format neu speichern lassen)
Code:
sha2a:fdsfdsa:454532415132461
So kann man im selben Fehld auch gleich noch 'nen nutzerabhängigen Salt mit verpacken
$2B or not $2B
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#7

AW: db afrage username und passwort

  Alt 27. Jul 2018, 16:09
hallo,

haben hier ein problem bzw. fehlermeldung:

Dynamic SQL Error
SQL error code= -104
Token unknown -line 1, colum 31
name.



Delphi-Quellcode:
procedure TForm2.BitBtn3Click(Sender: TObject);
begin
 with Form3 do begin

    Query.SQL.Text := 'SELECT * FROM BENUTZER WHRERE name = :name AND password = :pass;';
    Query.ParamByName('name').AsString := Edit1.Text;
    Query.ParamByName('pass').AsString := Edit2.Text;
    Query.Open;

 end;

 if Query.EOF then showmessage('Fehler')
  else form3.Show;

end;
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: db afrage username und passwort

  Alt 27. Jul 2018, 16:10
Zitat:
WHRERE
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: db afrage username und passwort

  Alt 27. Jul 2018, 16:11
"Where " ist Statement falsch geschrieben.
Gruß, Jo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: db afrage username und passwort

  Alt 27. Jul 2018, 16:19
Zusätzlich ist NAME ein reserviertes Wort. Entwder excapen

... where "name" = :name ... oder besser username o.ä. verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz