2016-11-12 3 views
0

Ist es möglich, einen Benutzer in PHP/mySQL zu authentifizieren, ohne dass sie ihren Benutzernamen NUR ihr Passwort eingeben müssen?Passwort nur Authentifizierung in PHP/mySQL

Ich habe eine Login-Authentifizierung in Dreamweaver erstellt, die Benutzernamen in mySQL gegen Passwörter prüft, was großartig funktioniert! Mein Chef möchte jedoch nicht, dass der Benutzer seinen Namen eingeben muss. Er möchte nur, dass sie ihren eindeutigen Code eingeben müssen, aber dann wird ihr Name auf der Erfolgsseite angezeigt.

Ich dachte, vielleicht könnte ich einfach das Eingabefeld für Benutzernamen ausblenden und es sich selbst auffüllen lassen ... könnte das vielleicht mit einem Recordset gemacht werden?

Wenn jemand möglich mir zeigen konnte, wie ich würde es sehr schätzen es, danke :)

+1

möglich, ja. Eine gute Idee, nein. – Steve

+0

Ja, es ist möglich. – RST

+3

Was passiert, wenn zwei Benutzer dasselbe Passwort haben? – Phiter

Antwort

-1

Die bewährte Methode der Authentifizierung ist ein Minimum von 2 Dinge haben Sie sich merken müssen, wenn Sie sich anmelden möchten. Wenn ein Server eine Login-Challenge mit einem Benutzernamen und einem Passwort anzeigt, muss ein Hacker zwei Datenstrings herausfinden. Aber wenn Sie nur ein Passwort verwenden, ist es sehr einfach, in eine Anwendung zu hacken. Sie können jedoch auch Token-basierte Authentifizierung verwenden. Fragen Sie Ihren Chef, was er am meisten mag. Ein Benutzer kann sein eigenes Token über sein Telefon oder ein anderes Gerät erstellen, auf dem er bereits angemeldet ist. Sie müssen sich also einmal anmelden, um ein Token für die Anmeldung in einem Intranet/einer Website zu erstellen.

Wenn Sie nur ein Passwort verwenden möchten, stellen Sie sicher, dass Sie es in der Datenbank finden können. Weil einige Verschlüsselungsalgorithmen nicht umgekehrt werden können. Sie können also ein Passwort nicht für Prüfungszwecke "aufheben".

Wenn Sie eine tokenbasierte Authentifizierung verwenden, können Sie eine Anwendung erstellen, in der sich die Benutzer anmelden. Alle x Minuten (etwa 5 oder 10) läuft das Token ab und er muss ein neues erstellen. Jedes Mal, wenn er einen anderen Code erstellt, können Sie ihn in der Datenbank hinzufügen, um ihn mit einem Benutzer-/Benutzeraccount zu verknüpfen.

Wenn Sie nur ein Passwort für die Authentifizierung verwenden, kann ein Benutzer a) sehr leicht gehackt werden, denn das ist das einzige, was ein Hacker wissen muss. Und mit etwas Pech können zwei Benutzer das gleiche Passwort verwenden. Auch mit dieser Lösung ist es fast unmöglich, ohne Klartext-Passwörter oder eine unsichere reversible Passwort-Verschlüsselung zu arbeiten, um zu überprüfen, ob das Passwort korrekt ist und sich auf den Benutzer bezieht.

Aber um deine Frage zu beantworten.

Ja, es ist möglich.

Nein ist es nicht sicher
Nein, es ist nicht die beste Praxis ist

+0

Danke Koen. Der Grund hinter der Eingabe von Benutzernamen ist, den Prozess für den Benutzer einfacher und nahtloser zu gestalten. Ich denke jetzt, dass, wenn ich tokenbasierte Authentifizierung verwende, es für den Benutzer noch mühsamer wird. – Mitzi

+0

Der Benutzername wird nicht als geheim angesehen und gilt auch nicht als zweiter Sicherheitsfaktor. Das Passwort sollte mit "password_hash" gehashed und mit "password_verify" überprüft werden, es sollte nicht das Passwort im Klartext oder verschlüsselt gespeichert werden, es muss nicht rückgängig gemacht werden können. – zaph

+0

Für die Sicherheit, die basierend auf dem Bedrohungsmodell bewertet wird. – zaph

Verwandte Themen