密码重置链接在哪里存储在wordpress数据库中

时间:2016-12-20 16:25:23

标签: wordpress

如果你使用Wordpress的内置密码重置服务,它将是这样的:

  1. 点击忘记密码
  2. 输入您的电子邮件或用户名
  3. 在您的电子邮件收件箱中收到一个链接
  4. 点击链接
  5. 填写表格
  6. 您点击的链接看起来像这样:

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

    如果您尝试将& login更改为其他名称,它将拒绝您。 所以,某个地方“钥匙”以某种方式存储,并进行比较。

    它存储在数据库中的哪个位置? 我对数据库进行了导出,并在数据库中搜索了该字符串。它没有返回任何结果。

    那是什么给了什么?

2 个答案:

答案 0 :(得分:3)

该密钥是通过散列随机字符串生成的。您可以在WordPress developer reference中看到如何生成此密钥。

要回答您的具体问题,在生成密钥时,它会存储在user_activation_key列的users表中。仅存储最近生成的密钥(使先前的重置密钥无效)。一旦使用该密钥,该密钥也将从数据库中删除。

如果您希望以编程方式发送这些密钥,可以在需要时使用get_password_reset_key()生成这些密钥。该函数接受WP_User对象作为其参数。

根据您要完成的工作,可能会有更多"最佳做法"这样做的方法比直接访问该功能。

答案 1 :(得分:0)

密码存储为登录名和密码的哈希值。您将在user_pass下的users表中找到它作为难以理解的字符串。如果更改了登录名,则输入的密码和登录名将与使用原始登录名进行哈希处理的数据库中找到的字符串不匹配。