Как создать URL подтверждения электронной почты в Java? - PullRequest
1 голос
/ 19 сентября 2010

Я пишу веб-приложение на Java, где в какой-то момент пользователь может ввести свой адрес электронной почты, чтобы получить письмо. Мой вопрос касается проверки этого адреса электронной почты (поэтому речь не идет о проверке!). Я отмечаю этот вопрос также с помощью google-app-engine, потому что приложение будет там жить, но я не думаю, что это имеет большое значение.

В любом случае, для людей, имеющих учетную запись Google, я использую API-интерфейс движка приложения для проверки этого адреса, но для других людей я хотел бы отправить электронное письмо с подтверждением, содержащее URL. Я думаю, что это очень стандартно, но существуют ли стандартные способы создания URL? Или достаточно просто создать хэш адреса электронной почты, сохранить его в базе данных и поместить его в качестве параметра в URL?

Ответы [ 2 ]

2 голосов
/ 19 сентября 2010

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

Если бы я реализовал это, я добавил бы произвольный GUID и сохранил бы его в БД для проверки. Я не знаю, является ли это стандартным способом проверки или нет ...

1 голос
/ 19 сентября 2010

Создайте сервлет, который проверит, учитывая ключ (скажем, некоторую случайную строку), был ли этот ключ выдан ранее. Ключ должен быть криптографически защищен, чтобы злоумышленник, желающий выдать себя за кого-то, не сможет угадать его.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...