Как обнаружить электронную почту из безопасных сервисов, таких как Proton или Hush - PullRequest
1 голос
/ 10 апреля 2020

У меня есть веб-сайт, который является законным и le git. Я получаю пользователей из Протона, Ху sh и тому подобное, пытающихся зарегистрироваться. Я поймал несколько плохих актеров в последнее время. Прежде чем я go пойду по пути проверки PhoneText, я хотел бы попытаться потратить 5 долларов на эту проблему в 5 долларов.

В настоящее время я проверяю их электронный адрес, как этот.

<script type="text/javascript">
<!--
function validate() {
   var emailID = document.orderForm.con_email.value;
   bademailPos = emailID.indexOf("proton");

   if (bademailpos > 1) {
      alert("Sorry. We can't deal with these types of email addresses. Got a normal one?")
      document.orderForm.con_email.focus() ;
      return false;
   }

   return( true );
}
//-->
</script>

Существует ли список этих типов почтовых форматов почтовой системы? Например, «protonmail.com», «Hushmail.com» и др. c. чтобы я мог их идентифицировать?

TIA

1 Ответ

0 голосов
/ 10 апреля 2020

Начиная с определения электронной почты RFC5322, вы можете использовать следующее регулярное выражение для фильтрации определенных c учетных записей поставщика электронной почты:

\b[\w.!#$%&’*+\/=?^`{|}~-]+@(protonmail|hush)+(?:\.[\w-]+)*\b

Итак, ваш код должен содержать следующие строки:

function checkBannedEmailProvider(email) {
  var re = new RegExp('\b[\w.!#$%&’*+\/=?^`{|}~-]+@(protonmail|hush)+(?:\.[\w-]+)*\b');
  var OK = re.exec(email);
  if (!OK) {
     console.error(email + ' : Email provider not permitted. '); 
  } else {
     alert(OK[0] + ' : Valid email provider. ');}
  } 

var email = 'asd@protonmail.com'
checkBannedEmailProvider(email);

Уже проверенная строка регулярного выражения здесь и js код здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...