Как установить ссылку для сброса пароля в codeigniter / PHP?

#php #mysql #codeigniter

#php #mysql #codeigniter

Вопрос:

Я работаю над функцией сброса пароля

Идея заключается в

добавьте поле в пользовательскую таблицу, например pw_reset_code varchar (40) Nullable ,

затем я случайным образом генерирую ключ и добавляю его в это поле, когда пользователь запрашивает пароль.

Кроме того, сгенерируйте ссылку для получения ключа сброса, например

http://myadmin.com/reset/123233432423412342342343434324234

Затем сбросьте php, чтобы проверить, существует ли ключ, например, 123233432423412342342343434324234 в базе данных ,

обновите пароль для пользователя, соответствующий ключу, и удалите ключ

Итак, это правильный способ создания функции сброса пароля? Спасибо за помощь

Ответ №1:

Вы могли бы сделать это так, да.

Но вы также можете иметь ее в таблице spererate, в которой хранятся время, ip-адрес и идентификатор.

Чтобы добавить дополнительную безопасность, я бы добавил идентификатор пользователя или, если вы не хотите его показывать, имя пользователя и ключ.

Затем срок его действия истекает примерно через час.

Также добавьте поле, если ключ уже используется.

Итак, если кто-то пытается получить пароль несколько раз от пользователя и терпит неудачу.

Вы могли бы уведомить пользователя о том, что кто-то, вероятно, пытается войти в их учетную запись.

И, кстати, нет «правильного пути». Существуют разные способы решения проблемы, и в конце концов это зависит от вас.

Комментарии:

1. это означает, что мне нужно отслеживать время запроса, чтобы не позволять пользователю запрашивать слишком много раз