Проверка спама, временных писем и писем с недействительными доменами - PullRequest
0 голосов
/ 24 декабря 2018

недавно я заметил, что многие пользователи регистрируются на моем сайте, и все они используют одноразовые электронные письма, временные адреса электронной почты или поддельные электронные письма для регистрации на сайте ...

Что я сделал, чтобы частично предотвратитьто есть я добавил подтверждение по электронной почте, которое сообщает мне, является ли письмо действительным или нет, одноразовым или нет ...

Это отфильтровывается как 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, чтобы упростить процесс регистрации для спаммеров, который тоже хорошо работает ...

Так что мои вопросы здесь:

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

Может кто-нибудь помочь мне с этим?

...