un1t
@un1t

Какой правильный подход к подтверждению email?

Самый удобный способ кажется, когда пользователю приходит в почту ссылка для активации вида
example.com/activate?key=123
он кликает по ней и в этот момент происходит активация

Но тут есть тонкий момент.
Этот способ нарушает принцип когда GET запросы используются только для чтения.
Проблема тут следующая.
По таким ссылкам могут ходить боты. Если у пользователя почта на yandex или google, то боты читают почту и переходят по ссылкам из писем.
Тем не менее этот способ достаточно часто используется.
Какие есть соображения по этому поводу?
  • Вопрос задан
  • 330 просмотров
Пригласить эксперта
Ответы на вопрос 4
@nibogd
Обычно либо GET-ссылка, либо вручную вводить ключ из письма в качестве подтверждения. Можно для защиты от ботов по ссылке выводить кнопку "Подтвердить". Тогда GET будет использоваться только для чтения POST-формочки.
Ответ написан
@Apologiz
Разработчик
А почему бы не присылать пользователю не ссылку с подтверждением, а какой нибудь ключ, который он водит на сайте в качестве подтверждения, там ты хоть $_POSTом можешь обрабатывать)
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Этот способ нарушает принцип когда GET запросы используются только для чтения.

Не стоит так заморачиваться в данном случае. Но если хотите, сформируйте в HTML форму с POST запросом по сабмиту.

По таким ссылкам могут ходить боты. Если у пользователя почта на yandex или google, то боты читают почту и переходят по ссылкам из писем.

А валидация почты вовсе не для защиты от ботов. Основная цель - удостовериться, что почта была введена корректно и с ней работать дальше.
Можно конечно попытаться отсеять ботов, но ценой юзабилити: сделать переход на страницу, где будет требоваться ввод капчи для окончательного подтверждения.
Ответ написан
Комментировать
Vityarik
@Vityarik
Можно попробовать для ссылки на подтверждения почты поставить nofollow. И надеяться что поисковики по такой ссылке не пойдут.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
25 апр. 2024, в 12:03
75000 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект