![]() |
Datenbank: firebird • Version: 3.0 • Zugriff über: table
db afrage username und passwort
hallo,
mochte über eine table(username) eine abfrage starten, für username und pasword. Wie sollte sowas aussehen?
Delphi-Quellcode:
username.SQL.Text := 'Select * from USERNAME WHERE NAME = ' + QuotedStr(Edit1.Text) + ' AND PASSWORD = ' + QuotedStr(Edit2.Text);
|
AW: db afrage username und passwort
Die Frage ist zu unspezifisch, was hast du vor?
|
AW: db afrage username und passwort
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.
SQL-Code:
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 |
AW: db afrage username und passwort
Hallöle...:P
Du möchtest etwas lernen :zwinker: Dann sei nicht böse...:wink: Zitat:
Begründung: 1. Der SQL Injection ist damit Tür und Tor geöffnet. Bitte verwende Parameter. :thumb: ![]() 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. :P |
AW: db afrage username und passwort
Noch besser gar keine Passwörter, sondern nur einen Hash (Obwohl ich heutzutage keinen MD5 mehr verwenden würde).
|
AW: db afrage username und passwort
Bei Hash's mache ich es inzwischen so, dass ich den Typ mit in den String einbaue.
Code:
Hash's kann man nich entschlüsseln, also lassen sich Passwörter nicht umkodieren, wenn man die Methode änder,
md5:45453241513246
sha2a:454532415132461 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:
So kann man im selben Fehld auch gleich noch 'nen nutzerabhängigen Salt mit verpacken
sha2a:fdsfdsa:454532415132461
|
AW: db afrage username und passwort
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; |
AW: db afrage username und passwort
Zitat:
|
AW: db afrage username und passwort
"Where " ist Statement falsch geschrieben.
|
AW: db afrage username und passwort
Zusätzlich ist NAME ein reserviertes Wort. Entwder excapen
SQL-Code:
oder besser username o.ä. verwenden.
... where "name" = :name ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz