Задать вопрос

Какие есть способы верификации пользователя по email?

Здравствуйте. Использую обычный скрипт регистрации с подтверждением по email. То есть пользователь вводит логин (он же email) и пароль после чего на указанный им email летит ссылка на страницу верификации с get параметром в виде уникального хэша, что хранится в базе с его логином и паролем. На странице верификации хэш, который в базе и который пришел внутри get параметра сравниваются и т.д.

Вопрос: как мне достоверно определить почтовый адрес, с которого перешел пользователь для подтверждения? Теоретически ссылка подтверждения может улететь не туда куда надо и верификацию пройдет уже др. человек. Как вы сравниваете пользователя, который только что проходил процедуру регистрации и пользователя, который прошел по ссылке подтверждения?

Возможно ответ на этот вопрос прост, но я не имею большого опыта в этом деле поэтому прошу совета.

Спасибо.
  • Вопрос задан
  • 5669 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
dizballanze
@dizballanze
Software developer at Yandex
Если боитесь, что ссылка случайно попадет на другой email (что очень мало вероятно), просите, после перехода по ссылке, ввести email адрес, указанный при регистрации и сверяйте со значением из БД.
Ответ написан
Комментировать
ScorpLeX
@ScorpLeX
У вас паранойя, для разработчика конечно хорошее качество, но это уже через чур.
Почитайте про протокол передачи почты, куда то не туда улететь не сможет.
Вообще в этом смысла мало, пользователь может легко подтвердить почту с другого устройства\программы или по прошествии долгого времени.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@seweb
Добавляй в ссылку верификации адрес почты. По-моему, это лучший вариант.
Ответ написан
sashablashenkov
@sashablashenkov
Первое, что пришло на голову -- сверить IP регистрации и IP перехода по ссылке. Ну и ограничение по времени, ссылка будет работать n минут.

И это сделать все вместе
Ответ написан
@DuD
Можно просматривать referer.
Но это решение уже больше для самопроверки. Т.е. если в referer есть нужный email то вероятность того что пользователь тот кого за себя выдаёт выше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы