2016-12-20 17 views
0

Si vous utilisez construit de Wordpress en service de réinitialisation de mot de passe, il sera de quelque chose comme ceci:Où est le lien de réinitialisation de mot de passe stocké dans la base de données wordpress

  1. Cliquez Mot de passe
  2. Entrez votre e-mail ou nom d'utilisateur
  3. Recevez un lien dans votre boîte de réception e-mail
  4. Cliquez sur le lien
  5. Remplissez le formulaire

Ce lien vous cliquez, ressemblera à quelque chose comme ceci:

http://yourdomain/wp-login.php?action=rp&key=vqwwSPzf6OK6bUv42XPk&login=natelough

Si vous essayez de modifier la connexion & à un autre nom, il vous rejette. Donc, quelque part cette 'clé' est stockée d'une certaine manière, et comparée.

Où est-il stocké dans la base de données? J'ai exporté la base de données et recherché la chaîne dans cette base de données. Il n'a retourné aucun résultat.

Alors qu'est-ce qui donne?

Répondre

1

Cette clé est générée en hachant une chaîne aléatoire. Vous pouvez voir comment cette clé est générée dans le WordPress developer reference.

Pour répondre à votre question spécifique, lorsqu'une clé est générée, elle est stockée dans la table des utilisateurs dans la colonne user_activation_key. Seule la clé générée la plus récente est stockée (invalidant les clés de réinitialisation précédentes). La clé est également supprimée de la base de données une fois qu'elle a été utilisée.

Si vous souhaitez envoyer ces clés par programme, vous pouvez les générer lorsque vous en avez besoin en utilisant get_password_reset_key(). Cette fonction accepte un objet WP_User comme argument. En fonction de ce que vous essayez d'accomplir, il existe peut-être un moyen plus efficace de le faire que d'accéder directement à cette fonction.

+0

Boom! C'est ce que je voulais. et oui, get_password_reset_key est ce que je voulais. Merci mec! – Captainlonate

+0

Je suis heureux d'avoir pu aider. – GentlemanMax

0

Le mot de passe est stocké sous forme de hachage du nom de connexion et du mot de passe. Vous le trouverez dans la table des utilisateurs sous user_pass en tant que chaîne incompréhensible. Si le nom de connexion est modifié, le mot de passe saisi avec le nom de connexion ne correspondra pas à la chaîne trouvée dans la base de données où le mot de passe a été haché avec le nom de connexion d'origine.

+0

Je demande à propos de cette «clé» dans l'URL. Qu'est-ce que c'est et où est-il stocké? – Captainlonate