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

Бест практис разработки регистрации с подтверждением по email?

Я пишу проект, на бэке использую node + express ( не поменять уже, всё ).
Моя задача: написать регистрацию с подтверждением аккаунта по email. Я покопал инфы, поспрашивал и пришел сюда тоже спросить кто как видит)
Естественно, это должен быть безопасный и эффективный способ, нужно определиться как и где хранить неактивных юзеров, когда их удалять, удалять ли, чтобы не было казусов что кто-то просто зарегал кучу акков на реальные левые почты и теперь их владельцы не могут зарегаться)

Я спрашивал гпт и смотрел один видос, в общем там одинаковое решение по сути: тут

Еще мне подсказал один человек как можно все это сделать:
67c94ddc86549262915841.png

В общем, суть:
-Челик ввел email, login, password в форму
-Ему пришло письмо со ссылкой для активации
-Он переходит по ссылке - его редиректит в приложение
-Без активации он не сможет зайти в профиль приложения, никуда дальше формы входа не зайдет
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 3
@alexalexes
1. Активные пользователи хранятся там же, где неактивные пользователи - в нормальной реляционной СУБД, а не редис.
Активный пользователь отличается от неактивного, наличием даты-время подтверждения эл. почты. В этой же записи пользователя в отдельном атрибуте храните сгенерированный хеш-код для подтверждения, который используете в ссылке.
2. В неавторизованном состоянии предусматриваете возможность повторной высылки кода подтверждения на указанный эл. адрес. (Прямо отдельная форма).
3. Любые действия, связанные с высылкой письма должно подтверждаться проверкой пользователя, что он человек (капча, или использование сторонних сервисов проверки).
4. Скрипт, который обрабатывает ссылку подтверждения почты тоже должен иметь защиту от ддоса.
Все.
Ответ написан
Adamos
@Adamos
В сущности, проблема обозначена: человек взялся ваять самопис, не познакомившись с готовыми решениями, которые сто лет как написаны и отлажены. В результате медитирует над оптимальной формой руля велосипеда, следующим шагом перегорит от "все сложно" и забросит проект.
Решение: берешь ЛЮБУЮ ВООБЩЕ CMS и изучаешь, как такие базовые проблемы решили до тебя. Не изобретая.
Ответ написан
@AlexVWill
Не надо так, это гиморно и не безопасно, сделай просто регистрацию по эккаунту Google, у всех людей он давно есть, ты получишь в итоге то, что хочешь + безопасность и верификацию дополнительно.
https://developers.google.com/identity/sign-in/web...
Ответ написан
Ваш ответ на вопрос

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

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