WordPress插件wp-rest-user中重置密码bug可能导致邮件中链接无效

WordPress插件wp-rest-user主要用于通过REST API方式注册用户和找回密码等。

重置密码发送的邮件内容中有一处小bug,超链接<a>没有闭合标签,有可能导致邮件服务商会解析出错。

笔者亲测,163邮箱能够正确解析,但qq邮箱解析失败,自动补充的</a>标签位置不对且有多余。

文件位置:/wp-content/plugins/wp-rest-user/public/class-wp-rest-user-public.php

$rp_link = '<a href="' . site_url() . "/wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login) . '">' . site_url() . "/wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login) . '';

解决方法很简单,只需要在尾部补上闭合标签</a>即可:

$rp_link = '<a href="' . site_url() . "/wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login) . '">' . site_url() . "/wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login) . '</a>';

注意

插件wp-rest-user已经因安全原因被WordPress官方关停,如果还想继续学习的小伙伴可以访问插件作者的GitHub仓库地址(已停止更新):

https://github.com/anstak/wp-rest-user

此外,有新的替代品,看上去不错,笔者尚未测试,请自行阅读:

【JSON API User 】 https://wordpress.org/plugins/json-api-user/

【WP REST API Controller】 https://wordpress.org/plugins/wp-rest-api-controller/

(版权归cpury.com所有,转载请注明出处。)