Naja gut es geht jetzt ums PHP Skript, da brauchen wir nicht noch über die Sicherheit des Servers reden
Und "Programme die Hash's entschlüsseln können" würde ich gerne noch richtig stellen. Ein Hash kann nicht entschlüsselt werden, er wird schließlich auch nicht verschlüsselt. Er kann nur in Tabellen nachgeschlagen werden ob er zufällig in dieser Tabelle drinnen steht und dazu dann der Klartext.
Klar hängt die Sicherheit dann vom Salt ab, aber es sollte leicht sein zumindest den Salt etwas komlizierter zu gestallten.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Login MySQL / PHP SICHER????
Einklappen
Neue Werbung 2019
Einklappen
X
-
Von "einfach nur so" verwenden war ja auch nicht dir rede.
Aber stimmt, du hast Recht, gibt mitlerweile genügend Programme die Hash's entschlüsseln können...
Allerdings:
Die Sicherheit hängt hier mal wieder ganz vom Entwicker ab.
Wie lang ist der private Schlüssel?
Wieviele Sonderzeichen und kryptische Reihenfolgen hat der private Schlüssel
Wie sicher ist der Server konfiguriert
usw usw...
Einen Kommentar schreiben:
-
Man sollte immer Abfragen ob eine Variable gesetzt ist. Was ist wenn jemand das Formular abschickt, aber nur das Inputfeld für den Usernamen im Formular mitgeschickt wird? Dann kommt ein Fehler weil $_POST['password'] nicht existiert. Diesen solltest du aber abfangen.
md5 solltest du mit Salt verwenden, dann spricht imho nichts dagegen!
Einen Kommentar schreiben:
-
Zitat von Flor1an Beitrag anzeigenUnd du solltest prüfen ob $_POST['username'] und $_POST['password'] überhaupt gesetzt sind.
und mit md5 bin ich mir auch noch nicht so sicher ob das die ideale lösung ist
Einen Kommentar schreiben:
-
@ToxicToast: Wieso kannst du md5 empfehlen? Man sollte md5 nicht einfach nur so verwenden. Es sollte immer noch ein Salt verwendet werden.
Zu den Punkten solltest du selbst mal googlen um was es geht und wie man es beheben kann. Und du solltest prüfen ob $_POST['username'] und $_POST['password'] überhaupt gesetzt sind.
Einen Kommentar schreiben:
-
Wie gesagt, speichere deine Passwörter nicht im Klartext.
Ich kann md5(); empfehlen.
Folglich würde deine Variable nun so aussehen:
$password = md5($_POST["password"]);
Und am besten liest du dir den Artikel mal durch:
SQL-Injection – Wikipedia
Einen Kommentar schreiben:
-
Danke schonmal für die schnelle Antwort...
was genau kann bzw. muss ich ändern?
Einen Kommentar schreiben:
-
Nein ganz und gar nicht.
1. SQL Injection ist möglich.
2. Anscheinend speicherst du deine Passwörter im Klartext. Das solltest du vermeiden. Speichere sie als "salted Hash".
Du solltest auserdem den Login auf maximal einen User beschränken. Da du im Query mehrere User ausliest und dann auch noch in einer Schleife überprüfst ob das Passwort stimmt kann es da schnell zu Problemen kommen.
Ansonsten lies dir mal folgendes durch:
Hinweis:
[!] Bitte lies dir diesen Thread zu den Grundlagen von PHP durch. Die Grundlagen sind essentiell für das Arbeiten mit PHP, MySQL, HTML, JavaScript oder CSS!
Einen Kommentar schreiben:
Einen Kommentar schreiben: