антиспам для формы обратной связи

Защита сайта от спама обратной связи

В предыдущей статье я рассказывал как защищать устаревшую джумлу и админку от перебора паролей. Но при этом многие задаются вопросом: «Почему мне приходит спам с моего сайта через установленную на моем сайте форму обратной связи?».

protect contact form from spamУбрать спам с контактной формы сайта

Поэтому стоит заранее подумать о защите, а не когда заспамят по самое не хочу. Хотя в большинстве случаев владельцы сайтов думают, что сайт никому не интересен и не догадываются, что на них могут выйти боты. Другая половина считает, что лишние поля отпугивают потенциальных посетителей, а в некоторых случаях и слишком сложны для заполнения. В любом случае давайте разбирать подробнее.

Установка капчи на сайт как защита от спама

— можно взять из примеров и написать или модифицировать стандартные капчи. При этом мы можем задать какие символы будут использоваться, и насколько буквы и цифры будут подвергаться всяким изменениям для ухудшения автоматического распознавания. Плюсом будет простота в распознавании людьми, такую капчу обычно ставят на сайтах с небольшой посещаемостью и где нет смысла её усложнять, то есть где атаки ботов минимальны. Минусом данного метода является то, что данный тип капчи очень быстро и легко взламывается, поэтому при большей активности спамеров следует поставить решение посложнее.

— готовые решения от Google, Yandex и других сторонних сервисов. Это не только цифро-буквенные капчи, среди них есть много интересных вариантов, таких как собрать картинку-паззл, выбрать подходящие изображения и т.п.

Recaptcha как универсальная альтернатива всем капчам

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

Recaptcha 2 в Joomla

В популярной CMS джумла рекапча реализована системным плагином, поэтому стоит выбрать её в настройках, активировать плагин и ввести полученные ключи. После этого как системные компоненты могут обращаться к гуглокапче (к примеру, регистрация пользователей или стандартная контактная форма), так и различные сторонние модули и расширения (Virtuemart, сторонние контактные формы, Jcomments и другие).

Немного по другому ситуация обстоит в более старых версиях (Joomla 1.5 и 2.5). Максимум там можно найти первую капчу от гугла, но она настолько отпугивает своей сложностью, что стоит подумать или о дописывании своего варианта или решиться на миграцию на последнюю версию.

WordPress и рекапча от гугла

У вордпресса дела обстоят иначе: по умолчанию там в борьбе со спамом предлагается Akismet, который порой очень часто пропускает спам и работает не самым лучшим образом. Recaptcha существует отдельми плагинами, которые могут добавлять защитное поле в комментарии, форму авторизации или регистрации, а также в совместимости с контактной формой.

Поэтому на мой взгляд вп требует допила.

Невидимая Recaptcha

Для того, чтобы поставить новую невидимую рекапчу на сайт, необходимо получить отдельные ключи. Также необходимо реализовать функция обратного вызова (callback) для проверки легитимности. Более подробную информацию можно найти в API, и когда с ним разберусь, постараюсь выложить пример реализации на сайте.

Рекапча на произвольном сайте

На самом деле нету ничего сложного в реализации recaptcha в любом модуле или самописной форме обратной связи. На сайте расписано подробное API как реализовать необходимую проверку. С размещением кода на фронтэнде обычно не возникает проблем, однако не все могут корректно отослать запрос проверки секретного ключа.

Поэтому я рассмотрю простой вариант back-end отправки json на php

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

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

Капча поможет решить нам проблему со спамом, однако многих она раздражает, и многие стараются обходиться без неё. Кроме этого, существуют различные сервисы как антигейт по обходу капчи (там люди за деньги заполняют данные с капчи). Поэтому не лишним будет рассмотреть альтернативные варианты. Для популярных CMS существуют готовые решения, в других случаях придется применить навыки программирования либо обратиться к специалистам.

Итак, я расскажу пару приемов, как повысить защищенность формы без капчи.

Скрытые поля как защита форм

Создаем hidden поля. Достаточно для заполняемых полей (name,phone, email) в стилях прописать display:none; и дополнительно создать поля с нестандартными атрибутами name (к примеру phone-protect). Обязательно надо изменить код под новые поля и добавить ещё одну проверку: если наши скрытые поля будут заполнены ( или изменены дефолтные значения), тогда будет выдавать ошибку » Спам здесь не пройдет, обнаружен бот».

Этот метод дает большой выбор пофантазировать в вариантах проверок и названий полей, а значит своей нестандартностью защититься от большего количества ботов

Используем cookies для проверки уникальность посетителя

Фильтрация входящих данных контактных форм обратной связи

Не забудьте проверить, не изменилась ли работоспособность с вашими правками. С этими советами можно защитить сайт от спама в формах обратной связи. Ну а в следующей статье я расскажу, как бороться против примитивных DDos-атак и снизить нагрузку на сервер от ботов.

Источник

Как остановить спам который льется из Contact Form 7 в WordPress

contact form 7 spam

post 76118 602b646146a34

Спам – огромная проблема с контактными формами на веб-сайтах WordPress – как веб-сайтах, которые мы разрабатываем, так и в глобальном масштабе. Contact Form 7 – это самый популярный бесплатный плагин для контактной формы WordPress. Отправка спама через контактную форму может быть огромной проблемой для веб-сайтов WordPress с высоким трафиком, получающих сотни спамовых писем каждый день. Это неудобно и затрудняет обнаружение подлинных сообщений среди спама.

Комментарии могут быть огромным преимуществом для вашего блога, и есть несколько фантастических плагинов, которые улучшают функцию комментариев, встроенную в сам WordPress. Наши друзья из SoftwareFindr потратили время на изучение лучших конструкторов форм WordPress, это всеобъемлющий обзор, который стоит прочитать. Однако, независимо от того, насколько хороша ваша форма для комментариев, спам-комментарии могут заставить вас полностью отключить комментарии в своем блоге, что было бы позором.

Например, один из наших клиентов веб-дизайна WordPress пожаловался на количество спама, которое они получали через контактную форму Contact Form 7. Мы протестировали ряд методов, чтобы найти лучшее решение, которым я сейчас с вами поделюсь. И самое лучшее, что вам не нужно быть экспертом по WordPress, чтобы использовать их. Вы также можете взглянуть на классифицированные темы WordPress, которые будут отличным вариантом для создания вашего веб-сайта WordPress.

Следует ли мне использовать все рекомендуемые вами методы защиты от спама?

Одним словом, нет. Я НЕ рекомендую вам реализовывать все методы, предложенные в этой статье. Веб-сайт WordPress должен быть максимально чистым и минимальным за кулисами, и вам не следует устанавливать ненужные плагины. Вместо этого я рекомендую использовать метод проб и ошибок для экспериментов с этими решениями – независимо от того, являетесь ли вы экспертом по WordPress или новичком. Отслеживайте, сколько спама в контактных формах вы получаете после реализации одного или двух методов, и вносите изменения, пока не будете довольны. Установите Akismet в качестве отправной точки и начните с нее.

Вы найдете множество статей, в которых рекомендуются плагины CAPTCHA и викторины, которые работают с Contact Form 7. Большинство из них не нужны, поскольку лучше использовать функции, уже встроенные в плагин Contact Form 7 WordPress.

post 76118 602b646262f3b

1 ContactForm7 quiz

Простые викторины становятся популярным способом борьбы со спамом в контактных формах. Они работают, задавая пользователю простой вопрос, например: «Что больше, 2 или 8?» Боты не могут ответить на этот вопрос. В результате, только люди, которые вводят правильный ответ, могут отправить контактную форму.

Чтобы добавить тест, отредактируйте свою контактную форму и щелкните раскрывающееся меню «Создать тег». Вставьте шорткод, который появляется ниже, в вашу контактную форму. Это будет выглядеть примерно так:

2 Минимальное количество символов

Веб-сайт WordPress, представленный в этой статье, получил множество контактных форм для спама с двухзначными сообщениями – обычно это число. Я понятия не имею, чего они пытались достичь, но, очевидно, в настоящее время это популярный вид спама.

Если все ваши спам-сообщения следуют очевидному шаблону, вы можете заблокировать их, настроив контактную форму для блокировки сообщений, соответствующих этому шаблону. В этом случае я использовал параметры максимальной и минимальной длины в контактной форме 7, чтобы требовать, чтобы сообщения были длиннее 20 символов. Подлинные запросы обычно содержат более 20 символов, поэтому боты блокируются, не беспокоя реальных пользователей.

Поле Сообщение / Комментарии будет выглядеть примерно так:

3 Акисмет

Akismet имеет репутацию лучшего плагина для защиты от спама для WordPress. Не все знают, что он работает с контактной формой 7, а также с комментариями в блогах.

После того, как вы активировали плагин Akismet WordPress и следовали инструкциям на экране, чтобы добавить свой ключ API (бесплатно для некоммерческих веб-сайтов, небольшая ежемесячная плата для бизнес-сайтов), вам необходимо выполнить небольшую дополнительную настройку, чтобы сделать его поговорите с контактной формой 7 – см. https://contactform7.com/spam-filtering-with-akismet/.

В моих тестах Akismet остановил около 70% спама в Contact Form 7, но не весь. Он хорошо работал в сочетании с некоторыми другими решениями, упомянутыми в этой статье.

4 Contact Form 7 Honeypot

Contact Form 7 Honeypot – это плагин WordPress, который добавляет скрытое поле в вашу контактную форму. Реальные пользователи его не заполнят, потому что поле невидимо. Однако боты этого не знают и заполнят. Это позволяет плагину распознавать их как ботов и блокировать их отправку.

После того, как вы установили и активировали плагин Contact Form 7 Honeypot для WordPress, используйте опцию «Создать тег», чтобы создать шорткод приманки для вставки в контактную форму. Это будет выглядеть примерно так (контактная форма 7 рекомендует изменить идентификатор на что-то уникальное, поэтому замените 827 на что-то другое):

5 Действительно простая CAPTCHA

Really Simple CAPTCHA на WordPress плагин был создан разработчиком Contact Form 7, так что они работают слаженно. Плагин позволяет добавить CAPTCHA в вашу контактную форму. Он разработан, чтобы запретить ботам отправлять формы на вашем веб-сайте WordPress.

После того, как вы установили и активировали Really Simple CAPTCHA, вставьте тег CAPTCHA в форму Contact Form 7. (Щелкните раскрывающееся меню «Создать тег», чтобы просмотреть доступные параметры и создать настраиваемый тег для вставки в форму.) Это будет выглядеть примерно так:

Обратите внимание, что CAPTCHA становятся немного старомодными и не очень удобны для пользователей. Они также требуют, чтобы на вашем сервере были включены определенные функции, которые могут отсутствовать на вашем веб-сайте WordPress.

Я бы рекомендовал сначала добавить тест (см. Выше) и пробовать CAPTCHA только в том случае, если это не сработает. Оба метода в основном делают одно и то же. Они не позволяют автоматическим ботам отправлять контактную форму вашего веб-сайта, поэтому вам не нужны оба.

Что сработало для меня

Все веб-сайты WordPress получают спам по-разному. То, что работает для одного сайта, может не работать для другого.

Когда мне пришлось остановить спам Contact Form 7 на веб-сайте WordPress, я сразу же добился значительного сокращения спама, просто установив Akismet. Количество спам-сообщений сократилось с десятков в день до 5-10.

Я решил проблему полностью, объединив Akismet с плагином Contact Form 7 Honeypot, тестом и минимальным количеством символов.

Если вы просто хотите добавить один метод для уменьшения спама в Contact Form 7, я рекомендую Akismet. Это лучшее автономное решение, поскольку оно настолько мощное и всеобъемлющее. Вы можете использовать его независимо от того, являетесь ли вы экспертом по WordPress или новичком. Это может существенно повлиять на спам в вашей контактной форме WordPress.

Источник

Как предотвратить спам через форму обратной связи?

Есть сайт.
На нём 17 форм обратной связи. Все формы имеют одинаковый обработчик, за исключением небольших отличий.

Письма спама, имеют такой вид :

Благодарю за помощь!

Простой 2 комментария

ea21021db61a4c0198b55ffc03d44006

5d9684bb20b27211678757

26119eaf53074e458b241a4957b2f82e

Решил проблему таким способом :
В форму добавил поле

Потом в кнопку, через которую идёт отправка, добавил

Вышло что-то вроде этого

И в php-обработчике, добавил это

Возможно кому-то поможет.
Удачи!

5b77cf9ecbbf8084632463

26119eaf53074e458b241a4957b2f82e

Alexey_R88, У вас одна форма или несколько?
Если несколько, то обратите внимание, что проверка идёт по ID, и с одной формы может всё прекрасно отправляться, а с другой выскакивать «Spam decected».

Вот доработанный вариант с более удобной проверкой по классу :

26119eaf53074e458b241a4957b2f82e

26119eaf53074e458b241a4957b2f82e

Zakonoposlushniy,
помогите, никак не могу понять, куда вставлять это:

var buttons = document.getElementsByClassName(«Здесь пишем класс кнопки»);
for (var i =0;i buttons[i].onclick = handler;
>
>)();

я так понял в файл с формой, но в какое место и в каких тэгах?
попробовал вставить в тэгах скрипт текст/яваскрипт внутри формы в конце и пробовал также сразу после нее, но не заработало.

и подскажите логику работы этого всего.

я правильно понял, что
1. по-умолчанию заполняю скрытое поле чек каким-то любым словом на свое усмотрение, или оставляю пустым.
2. дальше яваскрипт отслеживает нажати кнопки отправки формы и в этот момент вписывает в значение value скрытого поля кодовое слово по моему усмотрению
3. обработчик проверяет поменял ли бот слово ф скрытом поле на кодовое и если он слал через метод пост без браузера, то скорее всего не поменял и соответственно детектируем бот.
4. если же оно заполнено кодовым словом, то видимо человек постил через браузер, так как сработал наш яваскрипт по замене на кодовое слово по нажатии кнопки

Источник

Защита от спама без капчи

zashchita ot spama bez kapchi

Защита от спам-рассылок на вашем сайте — очень важная составляющая, без которой не обходится ни один проект. Одним из эффективных способов защиты являются различные капчи, например, reCAPTCHA от Google. Но как обойтись без использования надоедливых проверочных слов или картинок?

Блокировка при AJAX-запросах

Если на вашем сайте форма обрабатывается при помощи AJAX запроса, то первое, что вы можете сделать — это запретить обращаться к PHP скрипту напрямую, без AJAX. Сделать это очень просто, добавив условие в ваш обработчик формы обратной связи:

Таким образом, мы смогли ограничить прямое обращение к файлу обработчику формы и сделали возможным только через AJAX запрос. Но что делать, если боты на вашем сайте отправляют спам через ваши формы? Для этого можно добавить дополнительные проверки.

Защита от спама с помощью ложного поля

Вот и все! Мы создали скрытое поле, которое будет видно для ботов и не видно для посетителей вашего сайта. Чем это поможет? Бот не различает видимость полей формы и заполняет поля по их именам, в нашем случае это имя или адрес электронной почты. Далее в PHP обработчике вашей формы добавляем условие на пустое поле:

Дополнительное секретное поле для защиты от спама

И еще один дополнительный метод защиты, который позволит вас ограничить отправку spam сообщений через ваши формы обратной связи. Для этого добавим 2 функции в вашу CMS систему. Если вы разрабатываете сайт на WordPress, то добавляем функции в файл functions.php вашей темы, если работаете в 1С-Битрикс, то в файл /bitrix/php_interface/init.php:

Далее добавляем скрытое поле в вашу форму обратной связи:

Таким образом мы добавляем в проверочное поле код, который состоит из случайного набора букв, точки и того же набора букв, обработанного алгоритмом md5, который шифрует в одностороннем порядке строку. Далее в php обработчике формы декодируем полученные данные при помощи функции keengoDecodeCheckWord() и проверяем верно ли передана строка:

Вот и все. Боритесь со спамом эффективно и с умом!

Еще интересное в блоге

Создание ZIP архива

Разница между датами php

Будем рады работать именно с вами

Политика конфиденциальности персональных данных

Keengo · Web Design & Development
© 2010–2021 Все права защищены

Источник

Защита формы обратной связи от спама на PHP и JavaScript

nospam

Всем привет. Если вы читаете эту статью, то вероятнее всего столкнулись с проблемой, которая выражается в виде спама через форму обратной связи на сайте. К сожалению спама меньше не становится и нужно от этого как-то защищаться. Способы существуют, их несколько, но мы рассмотрим один, на мой взгляд весьма эффективный. Сразу скажу, что не будем привязываться к какому-то конкретному движку, сделаем все своими руками. Прежде, чем писать защиту формы от спама, следует отметить, что в большинстве случаев спам приходит автоматический, это так называемые спам-боты, которые рассылают сообщения на тысячи сайтов. Сканируется сайт на наличие формы обратной связи и если она есть, поля заполняются и тут же идет отправка.

Защита формы от спама. Теория

Что бы будем делать?

Как правило боты не делают нажатие на кнопку отправки и это легко проверить, установив в Яндекс Метрике соответствующие цели. Поэтому такой способ должен защитить сайт от спама если не совсем, то ограничить его поступление до минимума. То есть будут приходить сообщения только если живой человек отправит форму самостоятельно, то есть нажмет на кнопку. Итак, приступим. Добавляем в форму скрытое поле:

Защита контактной формы от спама. Практика

В JavaScript пишем следующее:

let code = document.querySelector(‘#code’); // Получаем скрытый input document.querySelector(‘.btn’).onclick = function()< // Клик по кнопке отправки code.value = 'NOSPAM'; // Подставляем значение в value инпута >;

После клика скрытое поле будет выглядеть примерно так:

Теперь сделаем проверку на PHP.

На этом защиту от спама можно было бы завершить, но как быть с движками типа WordPress? Для CMS существует огромное количество плагинов по защите от различного рода взломов, атак и спама, но при желании можно внедрить и этот способ, но это тема для отдельной статьи или целого видео-урока. Возможно в ближайшее время я выпущу материал на эту тему. А какие способы защиты от спама знаете вы?

Читайте также:

Интересно, есть-ли у Вас на сайте пример создания ФОС для установки на HTML страницу?

Пока нет. А что это?

Форма обратной связи для заинтересованного посетителя с возможностью обратного звонка. В сети есть примеры платные и бесплатные, рабочие и не рабочие — устаревшие.Часто на одностраничниках, и на моей странице тоже стоят такие ФОС. Хотелость бы иметь современную ФОС без использования БД.

Особенно интересно создать скрипт комментариев с возможностью редакции на таком же одностраничнике. В сети есть аналог такого комментария, но всего ОДИН!

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

Всё дело в том, что ряд моих страниц уже несколько лет стоят в топ 10 по вч запросам и это ощутимо в вопросах бизнеса. В Google, клиенты, не смотря на раздел МОЙ БИЗНЕС, не проявляют желания писать отзывы. Да, и не умеют. А тут же на странице — пожалуйста. Но нет такой возможности.

Отзывы можно реализовать по принципу гостевой книги.

Интересное решение. Учитывая, что на моей странице 80 000 знаков как бы защитится от текстовых ботов на всякий случай. У Вас была публикация по ограничению по буквам записей на JS.

Видимо я и запомнил вашу эту публикацию, что она одна в инете. Спасибо за ваши практики.

От ботов ограничение на JS не спасет. Попробуйте такой вариант.

Спасибо. Буду интепретировать.

о) написал огромный коммент со своим вариантом защиты от ботов, и ничего не опубликовалось. Ладно!

Там ссылка была. Автоматом в спам ушло.

когда создавал защиту от ботов на своем сайте, то использовал следующий алгоритм. Язык PHP.

1. Список 1. Массив со списком HTML сущностей, которых легче всего можно спрятать в токене из рандомных символов.
2. Список 2. Массив со списком декодированных HTML сущностей из списка 1.
3. При открытии страницы формируется рандомный токен из символов »&;0123456789&;abcdefghijklmnopqrstuvwxyz&;ABCDEFGHIJKLMNOPQRSTUVWXYZ&;()#%», я использовал сложность 50, т.е. строка на 50 символов.
4. Выбираем случайный элемент из списка 1, и заменяем им случайный символ из токена, предварительно сохранив в сессию НОМЕР_СТРОКИ в токене, в которую мы поместили HTML сущность и НОМЕР_ЭЛЕМЕНТА в массиве списка 1.
5. Помещаем полученный токен в форму на странице.
6. После того, как мы получили токен от формы, получаем соответствующий символ из токена по НОМЕРУ_СТРОКИ и сравниваем его с элементом из списка 2 по НОМЕРУ_ЭЛЕМЕНТА
7. Если они совпадают, значит, форма отправлена человеком.
8. Если нет, значит, форма отправлена роботом.
Принцип защиты основан на том, что браузер всегда декодирует HTML сущности, и одна и та же HTML сущность будет иметь разный вид, в зависимости от того, получена она от браузера или от бота, не использующего браузер.
Пример:
& iexcl; = Бот отправит этот код как есть, состоящий из 7 символов.
¡ = человек отправит этот же код в таком виде.

Токен в 50 символов используется, чтобы не было очевидно, что защита основана на принципе отображения браузером HTML сущностей.
Реализовывал эту защиту на разных сайтах, которые жаловались на спам, и хотели защиту без капчи, включая свой собственный сайт. Ни разу боты не прошли эту защиту.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • антисоциальная сделка судебная практика
  • антисимметричное бинарное отношение пример