【问题标题】:in wordpress i want to send the user his password by mail?在 wordpress 中,我想通过邮件向用户发送他的密码?
【发布时间】:2011-12-12 06:30:57
【问题描述】:

我有一个用户在获得系统批准时的工作流程。获取他的登录凭据作为用户名和密码。我想在用户通过邮件批准他的用户名和密码后发送给他。我不确定如何从数据库中检索用户密码 wordpress 中是否已经存在功能?

【问题讨论】:

  • 永远不要通过电子邮件发送密码

标签: wordpress passwords password-storage


【解决方案1】:

Wordpress 不存储明文密码。如果可以,您必须生成(新)密码,使用 crypt 哈希(使用 wp_hash_password($clear_text_password))更新 wordpress 数据库,并在数据库更新成功后通过电子邮件发送明文密码。

【讨论】:

  • 最初我向用户展示了一个注册表单。他们在哪里输入用户名密码和其他凭据。然后,当他们提交时,管理员会收到一封邮件,在那里他会检查用户的详细信息。之后,他必须允许用户登录。但我认为到那时用户可能会忘记那里的密码,所以我怎样才能找回他们输入的密码并将其发回给他们
  • 即使在批准之前存储明文密码也是一个非常的坏主意,如果您担心人们忘记密码,最好提供一种重置机制它。我敢肯定 WP 已经有了这种机制。
  • 正如@skjaidev 所说,你不能 - 因为 WordPress 密码散列是一个真正的散列 - 即它只是一个方向,你不能从数据库中检索密码。您必须生成一个新的,将其存储在数据库中,然后发送给用户。这就是 WordPress 密码恢复系统的工作原理,也是存储密码的正确方式。
  • 我可以要求用户在没有密码的情况下进行初始注册。查看他输入的信息验证他的信息并将用户名和随机生成的密码发送给他......
  • 这绝对是可能的,不过你需要调整 WP。
【解决方案2】:

您可以使用 user_meta 函数(http://codex.wordpress.org/Function_Reference/get_user_meta | http://codex.wordpress.org/Function_Reference/add_user_meta | http://codex.wordpress.org/Function_Reference/delete_user_meta | http://codex.wordpress.org/Function_Reference/update_user_meta)存储它。因此,当用户注册时,您可以使用 add_user_meta($uid, "clearPass", $val) 之类的方式保存他的密码,然后在您发送这些电子邮件时将其取回..

但如前所述,这根本不是最好的方法。

【讨论】:

  • 是的,我明白。但是感谢您公开 user_meta 功能
猜你喜欢
  • 2023-03-02
  • 2020-09-16
  • 2015-06-10
  • 1970-01-01
  • 2011-08-31
  • 2018-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
相关资源
最近更新 更多