Разработка нового подтверждения пользователя (проверка по электронной почте)


Я разрабатываю ASP.Net приложение, которое нужно будет проверить, что пользователь является законным, а не спамом. Как только новый пользователь введет свое имя, фамилию, адрес электронной почты, мое приложение отправит электронное письмо для проверки подлинности пользователя. Письмо будет содержать ссылку, которая подтвердит учетную запись пользователя.

Я ищу справку о том, какая логика стоит за ссылкой на электронную почту. Как только пользователь нажимает на ссылку, что происходит?

У меня был сайт, который использовал Captcha, и не очень повезло остановить спам (я знаю, что вы не можете остановить 100% спам), подобный этому остановка спамеров от создания учетных записей (reCaptcha не делает трюк)

2 3

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, когда пользователь подписывается на ваш сервис.