Я хотел бы сделать это, настроив другую базу данных с именем pessword_reset_sessions.
, чтобы вы могли хранить следующее:
userid generalhash userhash timeinititated попытки
затем с пользователемid вы isnert идентификатор пользователя obv, с общим хешем - это хеш, который НЕ показывается пользователю, но используется для создания хеша пользователя.
timeinitiated должно быть меткой времени UNIX, когда он впервые запросил новый пароль.
как только вы подтвердите, что пользователь, запрашивающий пароль, ввел информацию для проверки, такую как электронная почта, имя, секретный вопрос.вы создаете строку в таблице сброса пароля.
и выдаете электронное письмо, содержащее хэш пользователя.
когда хэш возвращается через $_GET['hash']
, вы затем создаете другой хеш из generalhash
для сравнения с хешем, который приходит через $ _GET [], если хеш не совпадает, вы увеличиваете attempts
, который вы также можете проверить перед тем, чтобы убедиться, что он не отключил защиту на 2много попыток.