недавно я заметил, что многие пользователи регистрируются на моем сайте, и все они используют одноразовые электронные письма, временные адреса электронной почты или поддельные электронные письма для регистрации на сайте ...
Что я сделал, чтобы частично предотвратитьто есть я добавил подтверждение по электронной почте, которое сообщает мне, является ли письмо действительным или нет, одноразовым или нет ...
Это отфильтровывается как 95% фальшивых писем и пользователей, однако все еще остается небольшойчасть из них, которые остаются "незамеченными".То, что я решил сделать, это следующие вещи с помощью кода:
public static bool IsValidEmail(string email)
{
RestClient client = new RestClient();
client.BaseUrl = new Uri("https://api.mailgun.net/v3");
client.Authenticator = new HttpBasicAuthenticator("api", "");
RestRequest request = new RestRequest();
request.Resource = "/address/validate";
request.AddParameter("address", email);
var res = new JavaScriptSerializer().Deserialize<RootObject>(client.Execute(request).Content);
if (res.is_disposable_address || res.is_valid==false)
return false;
return true;
}
Это один шаг через mailgun, который я описал ранее ... И второй способ предотвратить спам / фальшивых пользователей, это то, что я настроилвручную таблицу в моей БД с включенными в черный список доменами, для которых регистрация не будет разрешена ... И логика для этого:
public static bool IsValid(string email)
{
using (var ctx = new myEntities())
{
var blacklistedProviders = ctx.BlacklistedDomains.ToList();
foreach (var item in blacklistedProviders)
{
if (email.ToLower().Contains(item.DomainName.ToLower()))
return false;
}
}
return true;
}
Однако я не думаю, что это помешает им сделать больше злонамеренныхматериал на веб-сайте ...
Я также добавил Google Reaptcha, чтобы упростить процесс регистрации для спаммеров, который тоже хорошо работает ...
Так что мои вопросы здесь:
- Существуют ли другие способы проверки электронной почты, чтобы определить, является ли она одноразовой или недействительной электронной почтой
- Какой еще способ я могу использовать, чтобы запретить пользователям создавать поддельные учетные записи?
Может кто-нибудь помочь мне с этим?