2016-07-10 12 views
-3

Welche Methode kann ich anwenden, wenn ich möchte, dass ein Benutzer sein ursprüngliches Passwort nach dem Speichern als Hash bearbeitet.PHP Passwort Hash()

+2

Nein Nein Nein Nein. Du willst das niemals tun. Es gibt keinen Grund, einem Benutzer sein Passwort zu zeigen. – tkausl

+1

Es ist sehr gefährlich ... –

+2

Sie haben Ihre Frage buchstäblich beantwortet. * "Ich weiß, dass es eine Einwegfunktion ist ..." * – esqew

Antwort

2

NICHT speichern Sie ein unverwundetes Passwort in der Datenbank.

NICHT zeigen Passwörter in der 'Passwort ändern Formular'

NICHT zeigen Passwort überall Hashes.

Geben Sie dem Benutzer ein Formular zum Bearbeiten des Kennworts, aber nicht das vorherige. Zeigen Sie dem Benutzer nur ein leeres Textfeld zum Einfügen eines neuen Passworts, während er ein Textfeld hat, in dem der Benutzer sein aktuelles Passwort eingeben kann.

Sie können jedes Kennwort überprüfen, das mit unter Verwendung password_verify() gehashed wird.

Wenn password_verify()true zurückgibt, verwenden Sie einfach eine UPDATE Abfrage, um den gespeicherten Hash zu ändern.

3

Eine Website, die einem Benutzer ihr Kennwort VERY unsicheren zeigt. Immer Hash es und nie zeigen Sie dem Benutzer ihr Passwort. Wenn sie ihr Passwort vergessen haben, hat der Benutzer sein Passwort zurückgesetzt und es in seiner Datenbank ersetzt. Aber NIE zeigen dem Benutzer ihr Passwort und IMMER Hash.

1

Bitte speichern Sie nie unverschlüsselte Passwörter in Ihrer Datenbank: Jeder einzelne davon wird offengelegt, wenn Ihre Datenbank jemals aufgerufen wird.

Wie für Ihre Frage: ein verschlüsseltes oder Hash-Wort ist sehr schwierig (oder einfach unmöglich, sind Sie Hashing oder Verschlüsselung?) Und teuer zu restaurieren. Ich verstehe das Usability-Problem, aber sobald ein Passwort gespeichert ist, sollte der Benutzer niemals in der Lage sein, es abzufragen (das ist, was wir Passwortrückgewinnungsmaßnahmen haben) ... Kurz gesagt, Sie könnten sie neue Passwörter erstellen, aber Sie können nicht haben Sie editieren die, die sie haben, weil Sie es nicht einmal wissen.

PS: All dies setzt voraus, dass das Passwort bereits gespeichert wurde. Natürlich ... Wenn wir über HTML-Passwort-Tags sprechen, ist das Problem anders.