今天在做cc.iv6.cc的中央认证时候发现很多人注册之后系统都会给我发送一个密码已经重置的链接,感觉不对劲。
于是自己走了一遍注册流程,发现邮件中设置密码的链接有问题。
新版wordpress发送的用户注册邮件链接直接点击后无法设置新密码,提示“您的密码重设链接无效”
因为代码里加的那个括号被邮件识别成了URL的一部分,所以点击无效。
跟踪代码,解决方案如下(懒得写插件了,直接改源码=-=):
修改方式如下,文件wp-login.php
中寻找这部分
0 1 2 3 4 5 6 7 |
function retrieve_password(){ //............... $message .= __('To reset your password, visit the following address:') . "\r\n\r\n"; //$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n"; $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n"; //................... } |
按着第二行修改即可
同理wp-includes/pluggable.php
中
0 1 2 3 4 5 6 7 |
function wp_new_user_notification( $user_id, $deprecated = null, $notify = '' ){ //.................. $message .= __('To set your password, visit the following address:') . "\r\n\r\n"; //$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n"; $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n"; //................. } |
1 Comments
真是时光荏苒!