Про восстановление пароля

nigirma

Новичок
Задам пару вопросов про того как сделать восстановление пароля.

Есть сайт с аккаунтами пользователей.
1) Если кто-то забыл свой пароль и пытается его восстановить, то происходит следующее:
а) генерация случайного числа (# 56486) и запись его в базу
б) отправка пользователю на почту ссылки для востановления пароля типа: http://site.ru/restorepassword.php?user=test&confirm=56486

Если пользователь проходит по такой ссылке, то ему сообщается(+записывается в БД) новый пароль, а случ.число 56486 удаляется.
Если же вдруг пользователь не успел нажать по этой ссылке и, вспомнив свой пароль, зашел в аккаунт. Стоит ли тогда затирать это случайное число, то биш активность той востановительной ссылки???

2) Стоит ли ограничивать по времени активность ссылки восстановления и сбивать ее через какой-то промежуток времени? (# "Ссылка на восстановление пароля будет активна в течении 12 часов")

3) Стоит ли после перехода по ссылке восстановления пароля автоматом генерить новый пароль, или же лучше предложить его задать самому пользователю?
У кого как?
 

Вурдалак

Продвинутый новичок
1) Идентификатор надо делать более сложный (к примеру, хеш от microtime()).
2) Да
3) Предпочтительней потребовать ввести новый, т.к. сгенерированный пароль в большинстве случаев все просто копируют и не запоминают.
 

nigirma

Новичок
Вурдалак
1) Согласен. Это для примера, чтобы проще было осмыслить пример.
А что с ответом на вопрос?
3) Верная позиция. Теперь тоже склонился к данному варианту ответа.
 

nigirma

Новичок
nigirma, даже не задумывался над этим. Зачем удалять?
Зачем хранить активной ссылку на восстановление, если пользователь УЖЕ вспомнил пароль и вошел в свой ак под ним?

Это стоит, наверно, делать из-за предосторожности, чтобы по ней потом никто не зашел.
Можно конечно дождаться автоудаления ссылки (пункт 2), но кто его знает, вдруг кто опять таки зайдет (# в почту мою кто-то залез их домашних и сменил в итоге мой пароль).
 

Andreika

"PHP for nubies" reader
если у тебя самого есть ответы на эти философские вопросы, то чего ж вообще спрашиваешь?)
 

Вурдалак

Продвинутый новичок
3) Предпочтительней потребовать ввести новый, т.к. сгенерированный пароль в большинстве случаев все просто копируют и не запоминают.
— беру свои слова назад. Убедился, что как раз вводимые мной пароли я не запоминаю, которые присылают на мыло — тоже. Зато я могу зайти в почтовый ящик и скопировать пароль, если уже 1 раз восстанавливал его.
 
Сверху