![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Привет всем. Народ помогите решить проблему. Пользователю приходит ссылка и в ссылке должен быть зашит случайный код а также емэйл адрес куда слать подтверждение пароля. Как это сделать? Спасибо
-------------------- The truth is out there |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Куда приходит? по e-mail адресу? Как выглядит ритуал "я забыл пароль - дай еще!" ? Обычно, при регистрации юзер указывает свой адрес. Собственно регистрация заключается в том, что юзер переходит по секретной ссылке из письма, пришедшего по адресу регистрации. Так что "забыл пароль" - просто переслать пару логин-пароль по адресу и все. Можно предварительно помурыжить юзера, заставляя вспоминать имена президентов или клички собственных кошек, но эти навороты уже по обстоятельствам ... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
ksnk, я предпочитаю шифровать пароли, поэтому обычно я создаю новую таблицу с id юзера и кодом подтверждения, код уникальный...
Этот код высылаю юзеру, он переходит, я из таблицы удаляю этот код и ставлю ему новый пароль. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Вопрос не совсем корректен.
У тебя в чем проблема: в реализации генерации случайного кода? В отсылке письма? Или ваще тебе целый кусок кода надо? Генерация случайного кода: включаем математическое мышление. И придумываем сами какой-нибудь уникальный алгоритм шифровки каких-либо данных о пользователе с учетом текущего времени, нарпример. Это все загоняем в отдельную таблицу, как и посоветовал SneG0K. По переходе на эту ссылку, очевидно, передается этот код, и все опять-же по Снежку
Это вообще как? Ссылка вида: "http://servername/reqpass.php?kod=XXX&mail=XXX" Не понятно. Либо ты как-то не по человечески реализуешь систему восстановления пароля(не изобретай велосипед), либо мне не понятно, что ты хочешь. Можно пример, как это должно работать? -------------------- Всем добра |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
SoWa,
2 All, Спасибо что откликнулись. Работать должно так. Пользователь на форме регистрации вводит свои данные и если в базе такое мыло уже есть то выскакивает ссылка типа восстановите пароль. Он щелкает и в этот момент срабатывает ажах функция которая шлет на мыло этому клиенту письмо типа пройдите по этой ссылке для смены пароля. Так вот в этой ссылке должен в зашифрованном виде быть емэфл человека, при переходе по этой ссыке человек попадает на форму где может ввести свой новый пароль он его вводит жмет ок и новый пароль высылается намыло. Весь вопрос в том как секурно зашить эмэйл ( а нужно на самом деле код клиента в базе) в эту ссылку чтобы потом скрипт ее обработал нормально и поменял пароль.Спасибо -------------------- The truth is out there |
|||
|
||||
| Shark |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
zone51, можешь в таблице сделать столбец где будешь хранить хеш-мыла... и его в ссылку и добавлять...
можешь воспользоваться mcrypt_encrypt и mcrypt_decrypt |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
zone51, А вот не надо никак шифровать адрес в ссылке. Ежели юзер пожелал восстановить пароль, нужно это его желание отобразить в таблице {user, код, дата запроса}. Код генерировать случайно, длинным. В базе поле `код` должно быть уникальным.
Ссылка, предаваемая в письме должна иметь вид site/lostpassword.php?code=код. Ну или примерно так, с 1-м параметром. По этому параметру выбираем запись не старее 1 дня и пересылаем пароль по зарегистрированному у юзера адресу. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
ksnk,
Скажите а не подскажете как генерить длинный код. Большое спасибо -------------------- The truth is out there |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
zone51, например rand(10000,99999).rand(10000,99999).rand(10000,99999).rand(10000,99999) даст нам строку из 20 в меру случайных цифр.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Конкретный рендом Шанс повторения ->0 Разве что этот участок кода в одну секунду вызвать несколько миллионов раз Это сообщение отредактировал(а) SneG0K - 4.5.2009, 16:03 |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: 1 Всего: 1 |
а почему от time() до time().random(0, time() ??? может:
так, или почему нет ? Это сообщение отредактировал(а) Djinn - 5.5.2009, 01:08 |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Djinn, а какая вообще разница? Проходит конкурс извращенности ума
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |