NewCoder
19.09.2015 - 10:06
Добрый день.
Суть идеи: Есть сайт с тестом на что-то с вопросами и ответами, будет рассылка на определенные почтовые адреса в виде HTML писем с ссылкой на этот сайт. Подскажите пожалуйста возможно ли сделать так: Человек кликает по ссылке в его письме и при переходе по ней ему бы не нужно было бы авторизироваться на сайте. Он бы проходил тест, а сайт бы записывал результат в базу понимая что это именно результат человека с конкретного почтового адреса. Т.е. можно ли передать адрес его почты на сайт при нажатии им ссылки у себя в письме? Т.е. с помощью PHP это можно прописать и как почтовые клиенты (веб или типа MS outluk) это "воспримут" т.е. выполнят.
123456
19.09.2015 - 10:15
да, можно!
сделай ссылку вида:
http://site.ru/test.php?login=<тут e-mail пользователя, которому отправляется письмо>
На странице теста смотри или присутствует
$_GET['login']Но этот вариант не надежный!
Лучше перед рассылкой создавать в базе e-mail адреса и хэш для перехода, и передавать пользователю хэш а не e-mail
Запрограммировать можно все!
_____________
Трус не играет в хокей
FatCat
19.09.2015 - 11:03
Авторизовать по кукам в браузере. Иначе ссылка будет авторизовать любого, кто воспользуется ссылкой.
_____________
Бесплатному сыру в дырки не заглядывают...
NewCoder
19.09.2015 - 11:36
Спасибо всем за информацию, на данном этапе мне нужно было знать насколько это возможно)
А куки ведь могут быть отключены у некоторых людей, и не совсем понимаю как с помощью куки это происходит?
Почему не надежный вариант? Т.е. создать в базе перечень емаил адресов и им соответствующие индентификаторы? Хеш - это типа уникального индентификатора, он как то программно создается? Чем это лучше?
123456
19.09.2015 - 11:42
NewCoderесли ссылка будет такого формата:
http://site.ru/test.php?login=<тут e-mail пользователя, которому отправляется письмо>
то я могу подставить совершенно любой e-mail адрес и пройти твой тест допустим как
http://site.ru/test.php?login=vasia@mail.ruНадо генерировать уникальный хэш, и передавать его пользователю в ссылке.
Пример ссылки:
как
http://site.ru/test.php?kash=cfs67afvsbf78g6sbКогда пользователь переходит по этой ссылке, то определяем, к какому пользователю относится данный хэш.
NewCoder
19.09.2015 - 11:52
а если не генерировать хеш, а использовать адрес почты как уникальный иденитификатор, который заблаговременно будет занесен в базу, т.е. сверка будет именно по адресу, для чего дополнительно еще хеш вносить в базу?
Хэш генерируется какой то специальной программой?
Здесь наверно не место, но может кто еще подскажет какой лучше прогой осуществлять рассылку html писем?
123456
19.09.2015 - 11:55
хэш для того, чтоб допустим я не мог пройти тест за васю пупкина
FatCat
19.09.2015 - 12:26
Цитата (123456 @ 19.09.2015 - 10:55) |
чтоб допустим я не мог пройти тест за васю пупкина |
А какая разница что в ссылке?
Вася Пупкин переслал тебе ссылку с хешем его мейла, и ты проходишь тест вместо него.
_____________
Бесплатному сыру в дырки не заглядывают...
123456
19.09.2015 - 12:40
FatCat
Если вася пупкин захотел, чтоб я заднего прошел тест, то он скинет мне ссылку и я смогу пройти тест за него.
Но это только по согласию васи
FatCat
19.09.2015 - 14:23
Цитата (123456 @ 19.09.2015 - 11:40) |
он скинет мне ссылку |
Или хакер подобрал пароль или как-то иначе получил доступ к мейлу.
Мне очень не нравится сама идея авторизации по ссылке. Это огромная дыра.
_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
19.09.2015 - 14:24
Если Вася Пупкин захочет, чтобы я прошел за него тест, он скинет мне логин и пароль.
_____________
Бесплатному сыру в дырки не заглядывают...
123456
19.09.2015 - 14:44
FatCat однако в вконтакте данный метод авторизации имеется
sergeiss
19.09.2015 - 15:29
Я не понял... Это типа "тихо сам с собою я веду беседу"?

Самое правильное, мне кажется - это объединить вместе предложенные варианты: и переход по ссылке из почты, и использование куки. То есть, пришел по ссылке, страница отправила на сервер куку. Сервер оценил, что данные принадлежат одному и тому же юзеру. Хрен что подделаешь!
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
S.Chushkin
19.09.2015 - 16:40
Цитата (sergeiss @ 19.09.2015 - 15:29) |
То есть, пришел по ссылке, страница отправила на сервер куку. Сервер оценил, что данные принадлежат одному и тому же юзеру. |
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.