Как избавиться от спама в веб-формах без капчи


делаем 2 поля одинаковых типа email в форме
одно скрываем стилями (через display:none)

Роботы заполняют оба
Мы делаем проверку в init.php и не отправляем

У меня ID формы 3, код вопроса SIMPLE_QUESTION_478

вариант 1
результат в заполнении будет, но письма на почте нет
AddEventHandler("main", "OnBeforeEventAdd", "MyOnBeforeEventAdd");
function MyOnBeforeEventAdd(&$event, &$lid, &$arFields){
   if(($event=="FORM_FILLING_SIMPLE_FORM_3") && ($arFields["SIMPLE_QUESTION_478"] != ' ')){        
      return false;
   }  
}
вариант 2
тут мы вообще удаляем результат. Для робота отображается, что все ок, мы добавили (чтобы не пробовал еще раз заполнить), а резальтат удален
Если у вас стоит модуль уведомлений в телеграм https://marketplace.1c-bitrix.ru/solutions/xzag.telegram/ , то он запускается как раз по данному событию, но с дефолтной сортировкой, а мы запускаем раньше и удаляем результат со спамом, поэтому уведомлений не будет
AddEventHandler('form', 'onAfterResultAdd', 'MyAfterResultAdd',1);
function MyAfterResultAdd($webFormId, $resultId){ 
  if ($webFormId == 3){
    $arAnswer = CFormResult::GetDataByID(
        $resultId, 
        array("SIMPLE_QUESTION_478"),  
        $arResult, 
        $arAnswer2
    );
    if(!empty($arAnswer["SIMPLE_QUESTION_478"][0]["USER_TEXT"])){
        CFormResult::Delete($resultId,"N");
    } 
  }
}