Скажем, пользователь регистрируется на сайте с адресом электронной почты, который необходимо сначала проверить перед тем, как принять регистрацию пользователя.
Общий подход заключается в отправке электронного письма на указанный адрес электронной почты.Затем пользователь проверяет свой почтовый ящик и щелкает ссылку, которая сообщает сайту, что адрес электронной почты является действительным.Обычно в ссылку встроен какой-то код, который сообщает сайту, является ли это действительным подтверждением адреса электронной почты.
Мой вопрос касается кода.Какой лучший способ реализовать это?Некоторые идеи:
- Случайная строка генерируется при вводе нового адреса на сайт.Эта случайная строка сохраняется в БД и затем отправляется по электронной почте владельцу регистрации.Ссылка в электронном письме будет содержать случайную строку как часть URL.
- Адрес электронной почты хэшируется.Это означает, что ничего не нужно сохранять в базе данных, потому что приложение будет знать, как это отменить.(Меня беспокоит такой подход: если позже пользователь изменит свой адрес электронной почты на тот, который он ранее ввел, хеш будет таким же. Не уверен, представляет ли это какую-то угрозу безопасности.)
- Какой-то другой подход?
Я ищу общий совет по этой проблеме.