Frontend Passwort ändern

Als erstes entschuldige ich mich, wenn es irgendwo ein Duplikat gibt … Ich habe den besseren Teil der letzten Stunde damit verbracht, nach der Lösung zu suchen, ohne Glück, aber vielleicht bin ich nur scheiße bei der Auswahl der Schlüsselwörter.

Derzeit arbeiten Sie an einer Front-End-Profilumgebung für einen Client. Eine der angebotenen Optionen ist die Möglichkeit, ein Kennwort festzulegen und zu ändern.

Eines der Dinge, für die ich keine solide Antwort finden kann, ist, ob ich irgendwelche Sicherheitsmaßnahmen für dieses Benutzereingabepasswort ausführen muss oder ob die function wp_update_user () eingebaut ist.

Ich dachte ursprünglich, dass ich wp_hash_password für die Zeichenfolge verwenden müsste, die an wp_update_user user_pass übergeben wird … aber das funktioniert natürlich nicht, da die gehashte Version als Passwort in user_pass gespeichert wird und alles, was der Benutzer eingegeben hat, nutzlos wird : P

Also … irgendwelche Sicherheits-Tipps, wie ich “richtig” erlauben kann, dass Benutzer ihre Passwörter vom Frontend aus einstellen und aktualisieren können, ohne etwas zu verwenden, das mit dem Standard-Wordpress-Dashboard zusammenhängt?

Vielen Dank im Voraus für jede Hilfe, die jemand zur Verfügung stellen kann.

Schnellvorschau des Codes für den Passwortbereich des Dashboards:

Teil der PHP-Datei, die das Passwort für die Benutzereingabe übernimmt und speichert

Ich nehme das Passwort aus dem Formular, über AJAX, schnappe es mit $ _POST, und versuche dann, es in die database zu legen … nur, ob es so einfach ist oder nicht, oder wenn es Sicherheitsmaßnahmen gibt, die ich berücksichtigen muss ?

$user_data = array( 'ID'=>$user->ID, 'user_pass'=>$password ); wp_update_user($user_data); 

Formulareingabe am Frontend

  

UPDATE – Spezifischere Details, Schritt für Schritt geplante Passworteingabe

  1. Der Benutzer wird aufgefordert, sein Passwort festzulegen, nachdem er seine E-Mail-Adresse verifiziert hat.
  2. Sie setzen dieses Passwort in eine Texteingabe.
  3. Beim Senden des Formulars (die Passworteingabe ist die einzige Eingabe in diesem speziellen Formular), habe ich AJAX an Ort und Stelle, um das Passwort von der Eingabe zu einer PHP-function zu nehmen, die mit WordPress verbunden ist.
  4. Danach muss das Passwort in der database aktualisiert werden.

Ich habe Code, der alle oben genannten Schritte erreicht. Meine Frage ist Sicherheit. Welche Sicherheitsmaßnahmen muss ich implementieren, während das Passwort aus dem Formular in den AJAX-Aufruf übernommen wird, und dann in der PHP-function misst, wie sie von der function zur database übertragen wird?

Solutions Collecting From Web of "Frontend Passwort ändern"

Ich denke du beziehst dich auf zwei verschiedene Dinge.

1) Überprüfung der Anfrage. Sie sollten WP Nonces verwenden , um die Anforderung zu überprüfen und sie vor XSS zu schützen. Das sollte für alle deine Formen eine Übung sein. Sie können auch eine zusätzliche Sicherheitsebene hinzufügen, indem Sie einen reCAPTCHA integrieren.

2) Datenverschlüsselung, wenn Sie versuchen, das Passwort zu hashen. In diesem Fall ist Ihre einzige Option die Verwendung von SSL. Die Verwendung sichert den gesamten Datentransfer zwischen Client und Server, darüber hinaus geht es über diesen einzigen process der Passwortaktualisierung hinaus.