如何在WordPress中限制忘记密码重置尝试的次数?

时间:2020-09-07 作者:Mert VAROL

我正在使用Wordpress内置的忘记密码重置表单和视图。

我想限制重置密码电子邮件的尝试次数。默认情况下,Wordpress允许您发送无限制的重置密码电子邮件,我想设置一个限制。我该怎么办?

此功能仅在Wordfence安全插件中可用。我不想使用Wordfence。我搜索了其他插件,但没有找到。我实际上可以编写代码。你可以写一个建议。

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

你需要把用户元的尝试,然后做检查,每次用户点击重置密码。

add_action( \'password_reset\', \'my_password_reset\', 10, 2 );
function my_password_reset( $user, $new_pass ) {
    $limit=5;// Set the limit here
    $attempts=(int) get_user_meta($user->ID,"reset_attempts",true);
    if($attempts>$limit){
       //Do something in here, example redirect to warning page.
       wp_redirect( "/warning" );
       exit;
    } 
    update_user_meta($user->ID,"reset_attempts",$attempts++);
}