激活和密码重置时密钥无效

时间:2019-02-28 作者:Caio Mars

我现在很为难,即将发布基于Wordpress的应用程序,但我无法完成注册,因为密码设置/重置键是sometimes 无效的

我说有时是因为当用户注册时,他会获得设置密码的链接,这总是无效的。然后要求他输入用户名以重置密码,并发送一封新的电子邮件。该链接也无效,但是,如果他再次请求新的密码重置电子邮件,则该链接有效。

问题似乎是产生的关键。当他们的键没有符号时,它就会工作,例如:

https://www.example.com/account/reset/?key=f2XFLHJGvemH&id=209

当密钥带有符号时,它会被拒绝,例如:

https://www.example.com/account/reset/?key=%sPRkgT7fW%5D@&id=209

我禁用了所有插件,它的行为方式相同。未安装缓存插件。

这里会发生什么?请帮忙!

Edit:

我再次重复了这一行为以确保,这次尝试了4次。所以我猜,如果你一直想得到一把干净的钥匙,它就会起作用。为什么会发生这种情况?

1 个回复
最合适的回答,由SO网友:Caio Mars 整理而成

问题解决了!

我挂了个过滤器random_password 筛选以生成具有自定义规则和get_password_reset_key 使用函数wp_generate_password 生成密钥,这就是为什么我得到了我得到的行为。我所要做的就是把我的过滤器从它身上取下来,然后砰砰的一声,它就工作了。

相关推荐

Can't alter $lostpassword_url

我需要更改“检索密码”的href,但我似乎无法更改$lostpassword_url 在里面wp_lostpassword_url();我有一个过滤器,它显然被调用了wp-login.php:function wp_lostpassword_url( $redirect = \'\' ) { $args = array( \'action\' => \'lostpassword\' ); if ( !empty($redirect) ) { $