У меня есть простой подход к остановке спамеров, который на 100% эффективен, по крайней мере, по моему опыту, и позволяет избежать использования reCAPTCHA и подобных подходов. Я перешел от почти 100 спама в день в html-формах одного из моих сайтов до нуля за последние 5 лет, как только я реализовал этот подход.
Он работает, используя возможности электронной почты ALIAS большинства сценариев обработки html-форм (я использую FormMail.pl), а также графический «код» отправки, который легко создается в самых простых графических программах. Один из таких рисунков включает код M19P17nH и подсказку «Введите код слева».
В этом конкретном примере используется случайная последовательность букв и цифр, но я предпочитаю использовать неанглийские версии слов, знакомых моим посетителям (например, «пнофртай»). Обратите внимание, что подсказка для поля формы встроена в графику, а не появляется в форме. Таким образом, для робота это поле формы не дает ключа к разгадке его предназначения.
Единственная реальная уловка здесь - убедиться, что ваша форма html назначает этот код переменной «получатель». Затем в вашей почтовой программе убедитесь, что каждый такой код, который вы используете, установлен как псевдоним электронной почты, который указывает на любые адреса электронной почты, которые вы хотите использовать. Поскольку в форме нет каких-либо подсказок для чтения роботом и нет адресов электронной почты, он не знает, что вводить в пустое поле формы. Если он ничего не помещает в поле формы или что-то еще, кроме допустимых кодов, отправка формы завершается ошибкой «неверный получатель». Вы можете использовать разную графику в разных формах, хотя, по моему опыту, в этом нет необходимости.
Конечно, человек может решить эту проблему в мгновение ока, без всех проблем, связанных с reCAPTCHA и подобными, более элегантными схемами. Если человек-спамер реагирует на ошибку получателя и программирует код изображения в роботе, вы можете легко изменить его, как только поймете, что робот был жестко запрограммирован для ответа. За пять лет использования этого подхода я ни разу не получил спама ни от одной из форм, в которых я его использую, и ни разу не получил жалоб от любого человека, использующего формы. Я уверен, что с этим можно справиться с помощью функции распознавания текста в роботе, но у меня никогда не случалось этого ни на одном из моих сайтов, использующих html-формы. Я также использовал «ловушки для спама» (скрытый html-код «иди сюда», указывающий на мои политики защиты от спама), но они были эффективны только на 90%.