Защита формы обратной связи от спама без капчи


Добавление капчи и отказ от использования mailto: ссылок снижает конверсию. Спамеры используют это и количество нежелательных писем увеличивается каждый день. Это отнимает у бизнеса время, а также мешает специалистам концентрации на важных вопросах
Решить проблему со спамом, сохранив конверсию
Читайте в публикации и используйте любую из 2х идей, или все сразу
1. Скрытые поля в веб формах

Логика спам-скриптов работает следующим образом. Скрипт находит веб формы на странице, заполняет все или ключевых поля в веб формах и автоматически отправляет их, имитируя отправку данных пользователем. Для того, чтобы перехитрить спамеров — добавьте 1 или 2 скрытых поля в каждую из веб форм и проверяйте их на заполненность перед формированием почтового уведомления. Таким образом, спамеры продолжат заполнять все поля формы, а вы сможете их отличить от реальных посетителей, которые не будут заполнять скрытые поля.
2. Генерация e-mail адресов на Javascript

Спамеры собирают ваши e-mail адреса, сканируя все страницы web-сайтов. Но их можно перехитрить, генерируя e-mail адреса и ссылки mailto: с помощью Javascript после загрузки страницы. Таким образом при сканировании ваших сайтов — роботы спамеров не смогут найти ни одного e-mail адреса.
- Приглашаем подписаться на наши страницы в социальных сетях:
Как защитить форму от спама

Тема защиты форм от спам-ботов будет актуальной, наверное, всегда. Самым популярным инструментом на сегодня, пожалуй, является ReCAPTCHA от Google. Однако с ней есть некоторые сложности.
В данный момент ReCAPTCHA представлена в двух версиях: v2 (с кнопкой «Я не робот») и v3 (невидимая). Проблема версии с кнопкой состоит в том, что спамеры научились ее обходить. А проблема 3-й версии — в том, что, как ее ни настраивай, она может не пропустить заполненную форму от живого пользователя. В нашей практике не раз были случаи, когда заказчики жаловались на то, что их клиенты не могут отправить какую-нибудь форму на сайте из-за того, что ReCAPTCHA 3-й версии считала их активность подозрительной. Поэтому мы стараемся не прибегать к этому инструменту без особой необходимости.
Для замены рекапчи мы применяем свое достаточно простое решение. Разберем на конкретном примере.
Дано: форма обратной связи с полями:
- Имя
- Телефон
- Комментарий
- Согласие на обработку персональных данных
- Все поля, кроме «Комментарий», обязательные.
Чтобы роботы не могли отправить такую форму, нужно добавить в нее фейковое поле, которое будет видно только им. Это поле будет присутствовать в HTML-разметке страницы, но не будет видно обычному посетителю. Если данное поле отправляется на сервер заполненным, сервер такую форму не должен принимать. Уловка в том, что большинство ботов заполняют все поля без разбора, поэтому данный метод сработает в большинстве случаев.
Чтобы максимально усложнить выявление роботами такого поля, оно должно максимально походить на настоящее, поэтому рекомендуется соблюдать ряд условий:
Поле должно быть максимально похожим на поле для ввода Email, так как такие поля почти всегда заполняют роботы. То есть, в HTML-коде формы должно появиться дублирующее поле Email с точно такой же разметкой, что и настоящее поле.
Дублирующее поле должно стоять до настоящего, чтобы наверняка стриггерить робота на его заполнение.
Для скрытия дублирующего поля нужно добавлять дополнительный класс, название которого никак не должно намекать на то, что поле скрыто. По этому классу в CSS должно быть прописано свойство visibility: hidden. Не рекомендуется добавлять это свойство в inline-стилях.
Фейковое поле не должно быть обязательным к заполнению. Очевидный факт, но на всякий случай стоит проверить.
Проверка на заполнение фейкового поля должна производиться на сервере, а не на клиенте, потому что JS-проверка для робота работать не будет.
Защита сайта от спама, можно ли надежно закрыть спаму дорогу на свою почту
Здравствуйте, одним из направлений деятельности компании hrcode является защита форм обратной связи от спама.
Работаем мы сейчас с сайтами на WordPress и сайтами без системы управления.
Сейчас очень много сайтов подвергаются атакам спам-ботов. Особенно это актуально для коммерческих сайтов, где предприниматели ждут на своей почте или SRM системе заявки от покупателей или заказчиков, а получают бесполезный спам.
Можно ли надежно защитить сайт от спама на или спам боты настолько стали умными, что проходят практически любую защиту?
Забегая вперед, скажу, что можно, наш опыт показывает, что есть надежные способы борьбы со спамом. О некоторых из них я расскажу ниже.
Как показывает практика, универсальный способ защиты от спама только один, удалить все формы связи с сайта и убрать ссылки с адресом своей почты.
И действительно, не каждому сайту нужна обратная связь с пользователем, есть просто информационные сайты, которые не ждут сообщений от своих читателей. Владельцам таких сайтов лучше убрать форму обратной связи или ссылку на свой электронный ящик.
Помню, как несколько лет назад, когда пошел бум на спам через формы обратной связи, владельцы многих сайтов заменили свои формы связи на текстовые ссылки вроде, “пишите сюда: [email protected]”, так как не могли справится с тем потоком мусора, который шел к ним на сайт.
Но такой способ защититься от спама работал недолго, так как спам-боты научились находить в ссылках адреса электронных ящиков и отправлять спам через них.
Спам-боты постоянно совершенствуются, подстраиваются под современные методы борьбы с ними и вот уже, казалось бы, некогда надежная reCaptcha от Google спокойно пропускает спам сообщения.
Хоть спам и подорвал авторитет форм связи, все равно, как ни крути, а без нормальных форм обратной связи очень часто нельзя обойтись. Пользователю намного удобней оставить заявку на сайте через такую форму, чем через ссылку и было бы идеально при этом не вводить никаких проверок.
Так как же все таки защитить свой сайт от спама через формы обратной связи?
Сразу отметим, какие варианты нужно исключить из методов борьбы со спамом
Математические каптчи, где нужно сложить или вычесть числа и написать ответ. Такую защиту боты спокойно проходят.
Также стоит отказаться от reCaptcha от Google, ее боты также научились обходить.
Эти способы мы не применяем в своей практике и не советуем их применять другим.
Иногда можно встретить предложения блокировать сообщения, при отправке которых автор находился на сайте меньше определенного времени. Если сообщение отправлено слишком быстро, то значит его отправил бот.
При казалось бы надежной защите, в этом варианте есть и минусы. Есть шанс отправить в бан нормальные сообщения и пропустить спам, ведь сколько времени нужно боту, чтобы отправить сообщение точно не известно. Все зависит от его настроек, не факт, что бот будет быстро отправлять свое сообщение.
В общем от такого варианта мы тоже отказались, так как есть более надежные способы.
Какие варианты можно использовать для защиты от спама
Здесь стоит отметить, что при защите сайта от спама, нужно к каждому сайту подходить индивидуально. Как показывает практика, спам-боты, которые атакуют сайты совершенно разные по своей логике и настройкам.
И подбирая защиту, нужно учитывать особенности именно того бота, который атакует конкретный сайт. То что подошло одному сайту, может совсем не подойти другому.
Теперь о защите…
Защита ссылки адреса электронной почты
Если говорить о ссылке на электронный ящик, то здесь есть хороший вариант с шифрованием данных.
С помощью скрипта шифруем символы почтового адреса и в результате в коде бот не увидит нормальную ссылку и не сможет отправить на нее сообщение.
Защита с помощью каптчи
Что касается каптчи, здесь не все так плохо, как может показаться на первый взгляд, все же здесь есть надежные и простые варианты, которые останавливают поток спама на вашу почту.
Даже популярный плагин от WordPress, Contact Form 7 имеет в своем арсенале отличный вариант против спама, если его правильно настроить.
Одним из таких вариантов является каптча выполненная в виде «вопрос — ответ». Здесь все зависит от вашей фантазии, вариантов очень много.
Это довольно старый прием, но он все еще надежный. Мы его успешно применяем на некоторых сайтах, где нужна каптча.
Основная задача здесь придерживаться некоторых правил.
Главное, что не нужно делать, так это создавать трудночитаемую каптчу, где изображены непонятные символы. Не вижу смысла создавать проблемы потенциальным заказчикам в надежде, что бот не сможет распознать символы, которые нужно ввести.
Гораздо лучше будет, если создать такую задачу, которую бот просто не сможет решить. Совершенно не важно, что написано на самой каптче, важно то, что нужно ввести в проверочное поле и именно на этом и нужно строить защиту.
Такая защита не будет создавать трудностей для посетителей, но спам-боты ее не смогут пройти.
Невидимая защита
Если вы не хотите усложнять жизнь потенциальному заказчику или внешний вид сайта не поддерживает дополнительные элементы, тогда придется искать скрытый вариант защиты от спама.
Мы в своей практике используем разные варианты для защиты сайта от спама без каптчи, которые надежно блокируют сообщения отправленные не человеком.
Самый популярный и простой способ, это защита основанная на скрытых полях. Если проявить смекалку, то такой вариант защиты может быть очень надежным.
Среди множества вариантов такой защиты самый простой, это проверять, заполнено скрытое поле ботом или нет, и если оно заполнено, то сообщение не отправляется.
Но такой вариант не самый надежный, многие спам-боты успешно проходят такую защиту и складывается мнение, что защита с помощью скрытых полей не надежная, но это не так.
Как известно боты не заполняют саму форму на сайте, они отправляют сообщения напрямую через POST запросы. На этом и нужно строить защиту.
Если например, проверять, нажималась ли кнопка отправки сообщения или нет, то можно создать надежную защиту. Так если кнопка не нажималась, то скрытое поле останется пустым и сообщение не отправится.
Если сообщение будет отправлено с помощью кнопки, то в скрытое поле будет добавлено секретное слово, а защита настроена таким образом, что сообщение отправится только при наличие в скрытом поле определенного значения.
И похожих вариантов со скрытым полем можно придумать очень много.
Если бот не умеет читать код скрипта и заполнять скрытое поле секретным словом из этого скрипта, то такую защиту он не пройдет.
В нашем арсенале есть, как несколько таких способов, так и уникальных, которые мы разработали на практике и успешно их применяем.
Так мы используем способы, которым все равно, какие поля заполняет бот, умеет ли он читать скрипт, наша защита его все равно распознает и не пропустит.
Контроль за сообщениями на сайте
Мы постоянно контролируем работу своей защиты с помощью специального кода. Что позволяет нам получать четкую картину того, идет спам или нет и блокируется он или нет.
Например, мы можем наблюдать за тем, какие сообщения отправляются на почту, спам или нет даже после того, как установили защиту.
Если защита уже стоит, на почте мы не увидим спама, но наш скрипт видит все и отмечает, какие сообщения прошли фильтр антиспама, а какие нет.
Данный скрипт мы устанавливаем временно на сайт, которым занимаемся, чтобы видеть, идет спам или нет и убедиться, что защита работает.
После успешной защиты сайта, этот скрипт мы убираем и оставляем только код, который надежно защищает вашу почту от спама.
Подводя итог, можно с уверенностью сказать, что надежно защитить свой сайт от спама можно, если применять правильные методы и подходить к каждому сайту индивидуально.
Как защитить форму на сайте от спама
Подвергнуться атаке спамеров может любой сайт, имеющий форму обратной связи. Это уязвимое место, которое позволяет ботам отправлять данные на сервер: делать инъекции, оставлять в комментариях вредоносные ссылки, регистрировать фальшивые аккаунты, захламлять базу данных мусорными контактами, ломая аналитику. Все коммерческие веб-проекты сталкиваются с этой проблемой. Инициатором спам-атаки может быть конкурент, хакер или обычный мошенник, желающий заработать на обмане. Чтобы не стать жертвой спам-ботов, нужно защищать веб-сайт от подобных операций. В статье мы расскажем, как это сделать с использованием капчи и без.
Защита с помощью CAPTCHA
Самая распространенная защита форм от спама — это капча (captcha). Капчей называется одна из разновидностей теста Тьюринга, который предназначен для различения людей и роботов. Вы не раз сталкивались с ней при регистрации на различных ресурсах. Вспомните, как вас просили ввести буквы/цифры с искаженных картинок или отметить фотографии, на которых присутствуют пожарные гидранты. Это и есть captcha.
Такая проверка позволяет отсеять примитивных ботов еще на этапе заполнения полей, поскольку они не могут решить задачку, а без этого форма просто не отправляется. Однако у многих веб-мастеров имеются претензии к капче по части юзабилити: может, она и защищает от спама, но раздражает настоящих пользователей. Стоит иметь это в виду.
Тем не менее внедрить капчу на свой сайт — по-прежнему простой и рабочий способ защиты для форм обратной связи. Подключить ее можно бесплатно.
Бесплатные капча-сервисы: примеры
Существуют разные виды капчи. Она бывает графической, звуковой, математической, логической, образной. Выберите такой тип, который будет не слишком сложным для пользователей, но действенным против ботов: допустим, в формате «вопрос — ответ».
Вы можете воспользоваться специальными сервисами, которые предоставляют готовые варианты таких мини-тестов. Например:
- reCAPTCHA от Google . Можно использовать вторую версию (галочка «Я не робот») или третью, «невидимую», которая проводит незаметную проверку на основе поведения посетителя.
- hCAPTCHA . Бесплатный сервис, можно подключить к ВордПрессу, интегрировать с PHP, внедрить в Android-приложение.
- Akismet и другие плагины для WordPress.
Защита формы от спам-ботов без капчи
- Рамки на время заполнения формы.
- Скрытое поле.
- Блокировка user-agent.
- Cookies для проверки уникальности посетителя.
- Фильтрация входящих данных.
Ниже мы подробнее расскажем о каждом способе защиты.
№1. Рамки на время заполнения формы
Люди и боты по-разному взаимодействуют с полями обратной связи: первым обычно нужно больше времени, потому что они вводят данные постепенно нажимая на клавиши. Спамеры же заполняют форму моментально, не печатая. Эту разницу можно использовать в качестве основы для защитного скрипта. Суть метода в том, чтобы установить определенные временные ограничения на заполнение form-полей. Если посетитель вписал информацию быстрее, чем прописано в условии скрипта, то он будет считаться ботом и сообщение от него не будет принято.
Но есть минус: функция автозаполнения повторяющихся полей, которая имеется во многих браузерах. Некоторые пользователи не печатают имя/фамилию и контакты самостоятельно, а используют для этого возможности веб-браузера. Таким образом, скрипт может принять человека за робота. Стоит также учитывать, что большинство ботов научились проходить эту процедуру с той же скоростью, что и люди, поэтому защищать сайт только с помощью такого сценария неэффективно. Но он хорошо работает в связке с другими.
№2. Скрытое поле
Как правило, роботы не выбирают, какие из полей в форме заполнять, а какие нет. Они автоматически вводят данные во все, чтобы не пропустить чек-боксы вроде «Я принимаю…». На этом и строится защита с помощью hidden-полей.
Алгоритм следующий: помимо стандартных «name», «email» нужно добавить дополнительное поле, например, «phone», и сделать его невидимым для пользователей. Для этого ему через стили присваивается атрибут display:none (он не принципиален, можно скрыть и другим способом, если умеете). В итоге обратная связь поступает в двух видах: реальная через открытые поля и спам через hidden. Пропишите условие, что делать с информацией во втором случае: например, вывести на страницу ошибку или, наоборот, сделать вид, что форма отправлена, но не принимать ее, чтобы запутать бота. Таким способом можно вполне успешно защищать сайт от мусорных спам-запросов. Правда, многие боты будут пытаться отправить данные во всех возможных вариантах, тогда потребуются другие инструменты противодействия.
№3. Блокировка user-agent
Еще одной отличительной чертой примитивных спам-роботов являются нестандартные заголовки user-agent. В интернете даже есть списки идентификаторов, которые более всего распространены среди спамеров. В качестве превентивной защиты можно найти их и заблокировать, чтобы боты с такими агентами не могли отправлять обратную связь на вашем веб-сайте. Также рекомендуем защитить форму от запросов, вообще не содержащих user-agent. Некоторые боты умеют подделывать этот заголовок, но во всяком случае вы сумеете обезвредить тех, кто на это не способен.
№4. Cookies для проверки уникальности посетителя
Если проверять куки-файлы пользователя, можно определить, является ли он уникальным. Реализовать защиту с использованием этого решения можно разными способами, самое простое — запретить исполнение формы более одного раза. Т. е. если обратная связь от посетителя уже была отправлена, повторно это сделать у него получится. Так можно защитить себя от недобросовестных конкурентов, которые спамят с целью испортить вам статистику. От многократных спам-запросов это тоже поможет, но только если злоумышленник не использует ботнет.
№5. Фильтрация входящих данных
Фильтровать данные, отправляемые через форму обратной связи, необходимо не столько для защиты от спама, сколько для исключения других опасных атак вроде SQL-инъекций. Но качественная валидация сумеет защитить и от простеньких ботов, которые заполняют поля случайными значениями. Задайте для данных конкретный формат, и тогда они элементарно не смогут выполнить условие.
Заключение
В сети существует множество киберугроз, и пусть спам — не самая опасная из них, при отсутствии защиты он способен сильно подпортить работу вашего сайта. Если вы собираете обратную связь от пользователей, мы особенно рекомендуем озаботиться вопросом спам-защиты. Эффективнее всего защищать формы сразу несколькими методами, чтобы закрыть как можно больше уязвимостей. В статье мы рассказали, что можно для этого использовать. Надеемся, она была для вас полезной.
Похожие статьи
Как защитить сайт от копирования текста
Уникальность контента на сайте является одним из главных факторов ранжирования. Поисковые системы продвигают в топ ресурсы с уникальным содержанием — если же на странице размещен чужой авторский текст, который просто скопировали с другого сайта, поисковики накладывают санкции. А в таком случае страдают не только «воры», но и авторы, ведь технически они предоставляют дублированную информацию. Кроме того, очень часто ПС считают первоисточником не тот сайт, который первым опубликовал текст, а тот, который раньше проиндексировали. Чтобы избежать этого, нужно выстроить защиту от плагиаторов. В статье мы расскажем, как защитить сайт от копирования текста десятью разными способами.
Как оформить страницу 404: примеры дизайнов
В процессе интернет-серфинга мы часто сталкиваемся с ошибкой 404 (Error 404 Not Found). Этот код означает, что на сайте нет страницы с таким адресом. Проблема может возникнуть по нескольким причинам: пользователь ввел неверный URL, информация была перемещена на другой веб-адрес, страницу удалили, произошел сбой на сервере. Чем крупнее ресурс и чем больше на нем веб-страниц, тем сложнее уследить за корректностью ссылок внутри него. Посетители натыкаются на ответ 404 и спешно покидают сайт, не найдя того, что искали. Это плохо влияет на показатели SEO. Избавиться от этой ошибки нельзя, но можно оформить ее так, чтобы она работала на вас. В статье мы расскажем, зачем и как это делают разные веб-проекты.
Как исправить ошибку «Ваше подключение не защищено»
Безопасность интернет-ресурса — один из главных критериев его качества и надежности. Поэтому, когда на сайте появляется ошибка «Ваше подключение не защищено», пользователи часто покидают его, а поисковые системы не позволяют веб-ресурсу занимать хорошие позиции в выдаче. «Соединение не защищено» — как исправить эту проблемы со стороны пользователя и владельца сайта? Рассказываем в подробной инструкции в статье.
Нажмите дважды, чтобы увеличить