Ich habe eine Benutzeranmeldung, aber der Benutzer kann sich mit der Groß- und Kleinschreibung anmelden. Bedeutet, wenn Ihr Kennwort "test" ist, dann kann sich der Benutzer mit dem Kennwort "TEST" anmelden.
Ich möchte die Authentifizierung dieses Typs in meinem Passwortfeld vermeiden.
Ich denke, Sie speichern Passwörter in klar. Das ist nicht nur ziemlich unsicher, es ist auch in den meisten Situationen unnötig. Mein Rat ist, Passwörter in zwei Spalten zu speichern, zum Beispiel:
%Vor% Bevor Sie ein neues Passwort speichern, nehmen Sie das vom Benutzer angegebene Passwort ( $clear_password
), erstellen eine zufällige Zeichenfolge ( $salt
) und verwenden beide, um einen Hash zu erstellen ( sha1sum($salt . $clear_password
). Speichere sowohl das Salz als auch den Hash und verwerfe das Löschen-Passwort.
Um ein Passwort zu validieren, rufen Sie das gespeicherte Salt für den angegebenen Benutzer ab, generieren Sie den Hash und prüfen Sie, ob er mit dem Hash in DB übereinstimmt.
Diese Technik wird gesalzene Passwörter genannt.