Разработка нового подтверждения пользователя (проверка по электронной почте)
Я разрабатываю ASP.Net приложение, которое нужно будет проверить, что пользователь является законным, а не спамом. Как только новый пользователь введет свое имя, фамилию, адрес электронной почты, мое приложение отправит электронное письмо для проверки подлинности пользователя. Письмо будет содержать ссылку, которая подтвердит учетную запись пользователя.
Я ищу справку о том, какая логика стоит за ссылкой на электронную почту. Как только пользователь нажимает на ссылку, что происходит?
У меня был сайт, который использовал Captcha, и не очень повезло остановить спам (я знаю, что вы не можете остановить 100% спам), подобный этому остановка спамеров от создания учетных записей (reCaptcha не делает трюк)
2 ответа:
Как Грач указал ниже, самый простой способ-использовать капчу.
Если Вам также нужно проверить электронную почту, см. ниже.
Можно сгенерировать GUID утверждения и передать его на адрес электронной почты, который будет помечать пользователя как активного.
Например, добавьте столбец ApprovalID в таблицу users и создайте новый GUID при регистрации пользователя, т. е.
На этом этапе следует отметить пользователя как неактивного.
Example Guid 3F2504E0-4F89-11D3-9A0C-0305E82C3301
Затем передайте идентификатор пользователя и GUID в теле электронной почты
<a href="http://www.mysite.com/verify.aspx?UserId=TheUserId&ApprovalId=3F2504E0-4F89-11D3-9A0C-0305E82C3301">Verify your account</a>
Затем простая страница проверить.aspx
Код За
string UserId = Request[UserId].ToString(); // You can parse these as Guids string ApprovalId = Request[ApprovalId].ToString(); TODO: // Get user from database // Match QueryString ApprovalId to Column ApprovalId // Ask user to Log In // Set user as active
Отправка ссылки подтверждения не делает ничего, чтобы остановить спам. Отправка по электронной почте кому-то ссылку с криптографическим Nonce просто гарантирует, что они могут получать электронную почту, боты также могут получать электронную почту.
Лучший способ остановить спам-это использовать capthca, а я рекомендую использовать reCapthca. Вы должны предложить пользователю capthca, когда пользователь подписывается на ваш сервис.