PHP Passwort recovery
Merke ich, dass für die Sicherheit, die Passwörter sollten nicht gespeichert werden in der DB als Klartext. Wenn ich hash, kann ich bestätigen für login-Zwecke.
Aber wenn ich Sie einrichten möchten, ein Passwort-recovery-system, was ist die beste Strategie, da es keinen Untergang der Vermischung?
Könnte mir jemand eine kurze übersicht über eine gute und sichere Strategie für die Speicherung und die Wiederherstellung von Kennwörtern?
Es muss ein dupe von diesem irgendwo
Relkin du meinst, so? stackoverflow.com/questions/2283937/...
Auch, WAS SOLLS DUDE NICHT mit MD5.
Was stimmt nicht mit MD5? Es ist in Ordnung, wenn es gesalzen natürlich.
JA!
Relkin du meinst, so? stackoverflow.com/questions/2283937/...
Auch, WAS SOLLS DUDE NICHT mit MD5.
Was stimmt nicht mit MD5? Es ist in Ordnung, wenn es gesalzen natürlich.
JA!
InformationsquelleAutor sehummel | 2011-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht zu wiederherstellen Kennwort, wurden Hash -, sollten Sie weder.
Was man stattdessen tun sollte, ist:
der code ist so gut als Passwort nur innerhalb eines begrenzten Zeitrahmens, wodurch es weniger gefährlich.
Was ist, wenn, sagen wir, Alice, registrieren Sie sich, um Ihre website(website.com) mit einem « fake » E-Mail([email protected]). Gut, [email protected] (aka Bob) ist ein vorhandenes hotmail-Konto und der Besitzer, ein bad,helle und aktive person. Bob sieht eine Chance und aktivieren Sie Alice ' s Konto mit dem Aktivierungslink, die er erhielt. Bob ist ein bad boy, er ist wirklich will, um sich in Alice ' s website.com Konto und er weiß, wie zu tun. Bob fragt nach einem Passwort anzufordern, füllen Sie Ihre eigene E-Mail-Adresse, senden Sie die Anforderung, erhalten den Aktivierungs-link, klicken Sie auf diesen link, update Alice ' s password. Endlich kann Bob anmelden.
das ist, warum Sie sollten niemals eine gefälschte E-Mails mit echten domains und accounts, die erstellt werden können, die von jemand anderem. Erstellen Sie ein Google Mail-Konto mit zufälligen Passwortes statt und sobald Sie fertig sind mit es können Sie wegwerfen, das Passwort. Natürlich, wenn Sie jemals brauchen, sich zu erholen Sie das Kennwort für die Website, Sie sind in Schwierigkeiten 🙂
Für Schritt 5: Ist es in Ordnung, generieren Sie ein neues Kennwort für den Benutzer und auf der Seite anzuzeigen, so dass weniger Schritte sind erforderlich?
InformationsquelleAutor StasM
Du nicht "erholen" Passwörter. Was Sie tun ist eines der 2 Dinge.
InformationsquelleAutor Rocket Hazmat
Mein Ablauf ist wie folgt.
1. Benutzer initiiert eine Passwort-vergessen-Anfrage
Klickt der Benutzer auf einen link "Kennwort vergessen" und dann umgeleitet, um ein Passwort zurücksetzen Formular, in dem Sie gefragt werden, geben Sie Ihre registrierte E-Mail-Adresse.
2. E-Mail-Adresse verifiziert und token generiert
Nach der Eingabe Ihrer E-Mail-Adresse, überprüft das system, dass Sie in der Datenbank vorhanden. Wenn die E-Mail-Adresse gültig ist, dann wird ein token erzeugt und in der Datenbank gespeichert, mit der Benutzer-Anmeldeinformationen.
3. Senden Wiederherstellungs-E-Mail
Eine E-Mail an die registrierte E-Mail-Adresse mit einem link zu einem reset form, der link enthält 2 GET-Parameter einschließlich der token und der Benutzer eindeutige ID in der Datenbank gespeichert.
4. Passwort zurücksetzen
Nachdem der Benutzer klickt auf den link, den Sie genommen werden, um die reset-form. Das system ruft die 2 GET-Parameter aus der URL und prüft diese in der Datenbank vorhanden. Wenn das token verifiziert, so existieren in der Datenbank, die der Benutzer dann den Benutzer angezeigt wird, die reset-Passwort-Formular-Felder geben Sie ein neues Kennwort ein.
Sicherheit
Schlage ich vor, mit BCrypt (verfügbar ab PHP 5.3) - hash, der Passwörter, und für zusätzliche Sicherheit, vielleicht benutzen eine Art Ablauf für das token, so kann es nicht verwendet werden, nachdem ein Zeitraum von Zeit.
Wenn Sie SQLi Sicherheitsanfälligkeit, Sie haben größere sorgen.
InformationsquelleAutor TimD
Können Sie ein neues erstellen (und zufällig generierte) Passwort für Benutzer, und md5 , und dann schicken Sie Benutzer per E-Mail.
Er bedeutet ein temporäres Kennwort. Der Benutzer meldet sich dann in der, um es zu ändern.
Das ist, warum Sie sagen, dass die Benutzer Ihr Kennwort ändern nach dem einloggen mit diesem zufällig generiert.
natürlich ist dieses Passwort wird ein temporäres Kennwort. Und es muss geändert werden, durch den Benutzer.
was ist, Wenn ich das Passwort ändern, statt ihn?
InformationsquelleAutor Eray