AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Login über MySQL

Ein Thema von RedShakal · begonnen am 4. Sep 2009 · letzter Beitrag vom 9. Sep 2009
Antwort Antwort
RedShakal
(Gast)

n/a Beiträge
 
#1

Login über MySQL

  Alt 4. Sep 2009, 21:21
Datenbank: MySQL • Zugriff über: PHP
Hallo, ich habe ein Login Script geschrieben für mein Programm. Momentan funktioniert das so:

Client logt sich ein => Daten an Server
Server gibt Antwort OK / Logindaten falsch => Client reagiert.

Die Daten sind in einer ini Datei gespeichert.
Jetzt möchte ich das ganze über die MySQL Datenbank vom Webserver machen. Ich möchte die Datenbank aber aus Sicherheitsgründen nicht direkt ansteuern sondern ein PHP Script was z.b. OK oder Falsch ausgibt wenn man es mit bestimmten Parametern aufruft.

Check.php?username=123&passwort=123&version=2.1

so z.b.

Das Problem: Ich will nicht das jemand das mitsniffen kann mit Wireshark oder anderen und mit einem Paketsender die Pakete fakt.
Das heißt ich müsste das OK verschlüsseln. Das Problem dabei ist: selbst wenn ich das verschlüssle, kommt immer wieder der gleiche Hash beim Login bei raus weil es ja nur richtig oder falsch gibt. Gibt es da eine möglichkeit das zu unterbinden oder vielleicht sogar eine bessere alternative?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Login über MySQL

  Alt 4. Sep 2009, 21:26
über https(SSL).
Zudem würde ich nicht das Passwort, sondern einen Hash senden
Markus Kinzler
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#3

Re: Login über MySQL

  Alt 4. Sep 2009, 22:02
und was ist bei ssl anders? wenn ich einen hash schicke, muss ich ja das passwort clientseitig crypten und durch php wiededer entcrpten. Das Problem ist das meine php Kenntnisse nicht sooo berauschend sind. Ausserdem löst es ja noch immer nicht das Problem, das der Server immer nur 2 Antworten zurück gibt ( Ja / Nein ). Ich möchte ja verhindern das man durch Cheat Engine noch durch Wireshark / WPE die Login Sequenz überspringen kann.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Login über MySQL

  Alt 4. Sep 2009, 22:06
Zitat:
und was ist bei ssl anders?
Bei SSL handeln Client und Server einen Session-Key aus, der zudem wechselt- Mit diesem wird die Kommunikation dann gesichert
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Login über MySQL

  Alt 4. Sep 2009, 22:13
Wenn Du den Hash sendest, musst Du nicht mehr decrypten, was sowieso nicht geht. Einfach gucken, ob der geschickte Hash mit dem Hash des Passwortes übereinstimmt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Login über MySQL

  Alt 4. Sep 2009, 22:34
Wenn schon nicht SSL, dann wenigstens via SALT gehaschte Passwörter.

Also vorher bekommt der Client eine Sequenz geschickt, zusammen mit dieser wird das Passwort gehasht,
welches dann bei einem gleichbleibendem Passwort jedesmal ein anderer Hash generriert wird.

Es wird also das belauschen des Passwortes erschwert und es bringt nix, wenn jemand diesen Hash mitloggt und ihn (den Hash) dann für eine eigene Anmeldung mißbrauchen ist so nicht mehr möglich, da der Hash ja nur einmal gültig ist und sich zusammen mit dem sich änderntem SALT vom Server verändert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#7

Re: Login über MySQL

  Alt 5. Sep 2009, 00:59
Wie genau würde das denn mit SSL funktionieren? Habe noch nicht damit gearbeitet. Muss man da was spezielles beachten?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Login über MySQL

  Alt 5. Sep 2009, 07:59
Der Webserver muss dass unterstützen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#9

Re: Login über MySQL

  Alt 5. Sep 2009, 10:55
Ich hole da mal etwas weiter aus.

SSL wird immer dann benutzt, wenn Du eine URL mit https:// am Anfang aufrufst.
Der Webserver muss SSL unterstützen (es gibt eigentlich keine, die das nicht tun) und benötigt für diese IP-Adresse und die URL ein Zertifikat. Das kostet Geld, wenn man ein richtiges haben will. Man kann die auch selber machen (self-signed certificate) und das kostet dann nichts - aber dann wird der Browser eine Fehlermeldung anzeigen, dass das Zertifikat nicht von einer gültigen Stelle (z.B. VeriSign) signiert wurde und fragt beim Benutzer nach, ob man dem Server wirklich vertraut.

Da Du aber nicht mit einem Browser dorthin connectest sondern mit einem eigenen Client kannst Du hier den Benutzer aussen vor lassen.

SSL sorgt nun dafür, dass die gesamte Verbindung mit dem Webserver verschlüsselt wird. Und der Key wechselt bei jedem Besuch der Seite.

Das heisst, die Verbindung zwischen Deinem Client und dem PHP-Script ist komplett verschlüsselt. Man kann weder den Benutzernamen noch die Antwort des Webservers auslesen oder auch nur kopieren, weil sich der Key ja immer ändert.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#10

Re: Login über MySQL

  Alt 9. Sep 2009, 22:14
Ich habe jetzt ein bisschen rumexperimentiert. Dafür habe ich dieses Script verwendet:

Delphi-Quellcode:
<?php

if($_REQUEST['user']!='test')
{
echo "Username falsch!";
exit;
}
 

if($_REQUEST['pw']!='test')
{
echo "Passwort falsch!";
exit;
}
 

echo "Login erfolgreich"

?>
Von der Delphi Seite her klappt zurzeit alles Problemlos. Woran es scheitert ist ein PHP Script, welches die SQL Datenbank über PHP ausliest.

Hat jemand was ähnliches fertig=
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:43 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