使WordPress成为核心

开的8年前

上次修改时间5年前

#38769 新的 缺陷(bug)

可能的密码重置循环

报告人: yetanotherdaniel的个人资料 是的另一个丹尼尔 所有者:
里程碑: 等待审查 优先: 正常的
严重程度: 正常的 版本:
组件: 登录和注册 关键词: 需要修补程序
重点: 用户界面 复写的副本:

描述

Bug摘要

注册(wp-login.php?action=register)后,您可以直接访问登录屏幕附带一个小通知来查看您的电子邮件(wp-login.php?checkemail=registered)。但登录甚至是不可能的,因为用户必须首先通过电子邮件中提供的链接设置密码。然而,如果用户尝试登录,他们会收到一条误导性的错误消息,这可能会导致无休止的密码重置循环,用户将无法注册。

错误1:
不应有用户无法登录的登录表单。
(附件1)

错误2:
应该有这样一条消息,用户必须先设置密码。
(附件2)

虽然这些事情看起来微不足道,但结果却是严重的。

Bug描述

如果用户注册了,他们会在提交注册表后看到登录表的顶部显示消息“注册完成。请检查您的电子邮件。”。他们经常忽略这条消息并尝试登录,即使他们还没有设置密码。

这会导致用户无法注册的情况:

  1. 当用户注册后尝试直接登录时,会收到密码错误的消息。(见附件)
  2. 由于错误信息错误,他们会进入“密码丢失?”表,并尝试获取新密码。
  3. 他们现在第一次检查电子邮件,并从注册(!)打开电子邮件,而不是“丢失密码”电子邮件。
  4. 他们点击注册电子邮件中设置密码的链接。
  5. 由于步骤2,此链接无效。
  6. 然后再次尝试获取新密码。
  7. 他们返回自己的电子邮件帐户,从第2步(!)打开电子邮件并打开此链接。由于步骤6,链接再次无效。
  8. 他们试图获得新密码。
  9. 等等。

有一种被困在无休止的循环中的印象,他们经常认为网站充满了错误,对注册不再感兴趣,或者联系支持人员以删除错误。

我可以提供十几个甚至数百个发生在我的网站上的案例。

如何重现这些错误?

  1. 尝试注册。
  2. 即使没有密码也要试着登录(把你通常的密码放进去)。
  3. 在错误消息后重新设置密码。
  4. 转到您的电子邮件帐户并打开注册电子邮件。单击链接。
  5. 您会收到链接无效的消息。重新设置密码。
  6. 从步骤3打开电子邮件,依此类推。

tl;博士

注册后,即使您尚未设置密码,也会看到登录表单。如果你尝试登录(即使你还没有设置密码),你会收到一条误导性的错误消息,这可能会让你陷入无休止的密码重置过程。用户比放弃注册或联系支持。这不仅仅是理论。每天,我都会失去愤怒的客户,或者不得不支持他们。请看一下附件。

附件(2)

注册-bug.png(35.9 KB)-由添加是的另一个丹尼尔 8年前
错误1
登录-错误.png(43.0 KB)-由添加是的另一个丹尼尔 8年前
错误2

将所有附件下载为:.zip文件

更改历史记录(7)

#1 @是的另一个丹尼尔
8年以前

门票#37070指的是其中一个错误。

上次编辑时间8年前通过是的另一个丹尼尔(以前的)(差异)

#2 @是的另一个丹尼尔
8年以前

  • 严重程度已从更改正常的专业

#3 @是的另一个丹尼尔
8年以前

附加说明:

如果在电子邮件传递过程中有一点延迟,用户甚至不会收到当前的密码重置电子邮件。因此,用户只能打开旧密码重置电子邮件的无效链接,根本没有机会逃脱无休止的密码重置循环陷阱。

#4 @奥本兰
8年以前

  • 焦点 用户界面补充
  • 关键词 需要-补丁补充
  • 严重程度已从更改专业正常的
  • 版本 4.6.1删除

如果注册未完成,我们可以在错误消息中隐藏密码重置链接。它仍然可以在登录框下面使用,但我认为这很好。

#5 @奥本兰
8年以前

  • 摘要已从更改wp-login.php中的错误可能的密码重置循环
注:请参见TracTickets公司有关使用的帮助门票。