LINUX.ORG.RU

[PHP] Автоматический логин на сайте через ссылку

 


0

0

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

Вариант: одна ссылка - один уникальный код не подходит.


> Вариант: одна ссылка - один уникальный код не подходит.

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

Почему не подходит?

name_no ★★
()
Ответ на: комментарий от name_no

Думал сделать один код для всех ссылок и срок действия в 7 дней. Но этот способ мне кажется грубым, не защищённым и вообще не правильным.

Использование одного кода для одной ссылки отпадает, так как сайт подразумевается посещаемым и получится, что каждые 24 часа надо отправлять по 2000 писем, в которых 34 ссылки на один сайт. Соответственно база будет очень большой и неповоротливой.

impr
() автор топика
Ответ на: комментарий от impr

> каждые 24 часа надо отправлять по 2000 писем, в которых 34 ссылки на один сайт

это пиковая нагрузка или постоянная? ибо, от кода в рассылке ты не избавишся, если хочешь правильно и секурно. код можно привязывать к e-mail по которому отправляются ссылки, т.е. в рамках одного письма один код. да кстати, после первого захода (логина) можно херить из базы код и ставить нормальные session id и куку в браузер.

isden ★★★★★
()
Ответ на: комментарий от isden

> это пиковая нагрузка или постоянная?
Сайт - социальная сеть. Сколько там человек будет никто не знает. Число дал примерное.

код можно привязывать к e-mail по которому отправляются ссылки

в рамках одного письма один код


Как-то не подумал об этом...
Но при каком условии удалять код из базы? Удаление после первого захода запретит повторное использование этих же ссылок. Пока что одна идея: 7 дней и удаляем.

impr
() автор топика
Ответ на: комментарий от impr

> Удаление после первого захода запретит повторное использование этих же ссылок.

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

isden ★★★★★
()

>по 2000 писем, в которых 34 ссылки на один сайт. Соответственно база будет очень большой и неповоротливой.

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

«1 ссылка - 1 уникальный код» - самый нормальный вариант.

З.Ы. с таким кол-вом ссылок все ваши письма сразу отправятся в спам на большинстве майловых сервисах

heisenberg ★★
()
Ответ на: комментарий от heisenberg

> с таким кол-вом ссылок все ваши письма сразу отправятся в спам на большинстве майловых сервисах
Можно подробнее?

Письмо представляет из себя 12 последних фотографий фрэндов, 10 ссылок на фотографии, которые прокомментировали и 10 юзеров, комментировавших фото.

impr
() автор топика
Ответ на: комментарий от impr

«У вас столько-то фотографий, столько-то комментариев». И одна ссылка с уникальным кодом на ленту новостей. Юзеру гораздо удобнее тыкать по ссылкам на сайте, чем по стопицот переключаться в окошко с почтой и открывать содержимое каждой ссылки в новом табе/окне.

friday ★★★
()
Ответ на: комментарий от isden

>можно в первый заход вообще требовать регистрацию, типа логин-пароль завести.

даже наверное нужно, если нет куки выставлять какую либо форму авторизации.

Chu
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.