Вы можете попытаться сохранить количество сбросов пароля в базе данных Firebase или даже сохранить историю этого. Когда пользователь просит сменить пароль, проверьте его последний сброс, и оператор if-else
выполнит оставшуюся часть работы.
Например, допустим, я пользователь вашего приложения и сейчас сбрасываю пароль, затем вы сохраняете текущее время в своей базе данных и обновляете количество сбросов за последние 1 час. Вам придется получить эту информацию, когда я собираюсь снова сменить пароль. Поэтому, когда я нажимаю кнопку сброса пароля, извлеките эту информацию.
Сохраните время в виде метки времени. Метка времени теперь составляет около 1588570404
. Получите временную метку в момент нажатия кнопки сброса и используйте if-else
.
if(timeDifference <= 3600) {
//deny resetting as time since last reset is less than an hour
}
else {
//reset password
}
1 час составляет 3600 секунд, поэтому разница должна быть больше 3600 секунд. Вы можете добавить дополнительные условия, чтобы проверить, сколько раз пользователь менял пароль в течение последнего часа, как указано выше в коде.
Но вам нужно будет сбрасывать этот счет через каждые часы, так что удачи вам в этом. Может быть, вы можете сбросить его при выполнении проверок последнего сброса.