根据用户反映,用户在使用WordPress找回密码功能时出现bug,导致不能找回密码,造成用户的不满。于是自己测试了一下,的确是有bug.
wordpress站点的用户如果忘记密码,就会在登录界面填写注册用户名或邮箱,系统会自动发送一篇重置密码的邮件到该用户的邮箱,该邮件里面就会含有一条重置密码的链接。
仔细观察发现这个重置密码的连接首尾带着 <>?,当用户点击这个链接进入重置密码的界面的时候,就会出现bug,提示 您的密码重设链接无效,请在下方请求新链接。?。
通过修改WordPress根目录下wp-login.php文件可以解决这个问题。
再编辑器中打开wp-login.php这个文件找到下面这段代码,大概在381行,我的是WordPress4.3.1版本。
1
|
$message
.
=
‘<‘
.
network_site_url
(
“wp-login.php?action=rp&key=$key&login=”
.
rawurlencode
(
$user_login
)
,
‘login’
)
.
“>\r\n”
;
|
将这段代码修改成下面这段代码:
1
|
$message
.
=
network_site_url
(
“wp-login.php?action=rp&key=$key&login=”
.
rawurlencode
(
$user_login
)
,
‘login’
)
;
|
然后保存并覆盖原来的wp-login.php文件,此时再次测试找回密码就没有问题了,邮件里的链接格式已经发生变化。
重置密码界面也可以正常的进行设置新密码了