Я создал новое одностраничное приложение с процессом входа в систему.Сначала я использовал секретный вопрос для восстановления пароля пользователя.Тот же процесс, который я использовал, когда администратор настраивал новую учетную запись.Система автоматически генерирует временный пароль и отправляет ссылку пользователю на основании введенного адреса электронной почты.
Тогда я увидел несколько статей, в которых настоятельно рекомендуется не отправлять пароли по электронной почте.Альтернативное решение, которое они предложили, заключается в создании временной ссылки.Для этого они используют tokens
.Ссылка будет содержать url
параметров с комбинацией токенов.Этот токен сохраняется в таблице базы данных с датой / флагом истечения срока действия.После того, как пользователь нажимает forgot password
, вводит адрес электронной почты и нажимает кнопку отправить.Вот пример этого метода с PHP
Сначала я создал таблицу с этими полями.Пример:
RecID int
Email varchar(80)
Salt varchar(32)
Token varchar(50)
Expires datetime
В одном я не уверен, что в примере PHP selector
.Я думаю, это что-то похожее на Salt
, которое я должен использовать в сочетании с hash()
.У меня вопрос: стоит ли использовать createUUID()
в сочетании с солью и токеном или нет?Вот пример от Раймонда Камдена .
Мне любопытно, что было бы лучшим вариантом, а также подходом.Если я создаю новую учетную запись для пользователя, я должен отправить ссылку с истечением 24 часов?Затем новый пользователь может создать пароль.Или есть лучший вариант для этого?Также есть ли недостатки решения, предоставленного с помощью PHP выше?Если у кого-то есть какие-либо предложения или лучшие примеры, пожалуйста, дайте мне знать.