Спам боты

9 Июль 2016

Простой метод защиты веб-форм от спам-ботов без использования каптчи

Simple method to protect web-form from spam bot without captcha

Традиционным способом получения обратной связи в сети Интернет является использование веб-форм. Однако, их широкое распространение, удобство и лёгкость встраивания на сайт, привели к тому, что веб-формы стали использоваться многочисленными спам-ботами для рассылки нежелательных рекламных сообщений.

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

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

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

1. Методика распознования ввода человеком

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

Если рассмотреть типовую веб-форму, то в ней можно увидеть четыре основных поля для ввода контактной информации: имя, контактый e-mail, телефон, и, собственно, сам текст, который и является сутью обращения.

Очевидно, что система автозаполнения может использовать типовые данные для трёх первых полей, но никак не для самого текста сообщения — в данном случает это тэг textarea и именем "text". Его текст должен вводиться человеком с клавиатуры непосредственно на сайте. Таким образом можно отслеживать нажатия пользователем клавиш при вводе данного поля и на основании этого производить анализ на использование автоматизированных форм отправки и/или заполнения веб-формы.

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

2. Код проверки

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

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

Здесь в секции инициализации обнуляется счётчик с именем ct, далее создаётся скрытое поле с именем count и описывается функция подсчёта countme(), которая будет увеличивать счётчик на единицу и подставлять его значение в поле value только что созданного скрытого поля.

Теперь при отправке формы нам будет достаточно получить значение полей текстового ввода и счётчика и сравнить в их серверной части на PHP для получения заключения о том, кто её заполнял — человек с клавиатуры или робот. Значение нажатий клавиш всегда будет больше или равно количеству символов в тексте, получаемое через функцию strlen().

Хорошим тоном будет также предварительно проверить наличие в передаваемой формой набора данных значения из созданного скрытого поля count, к примеру PHP функцией isset($_POST[‘count’]), что позволить отсеять боты попавшиеся в ловушку с его динамическим добавлением.

Дополнение. В ходе опытной эксплуатации было выявлено ограничение данного метода, связанное с функцией автоподстановки слов в устройствах с тач-экраном. В этом случае проверенные системы эмулируют меньшее количество событий "нажатие на клавишу", чем будет содержать набранный текст. Поэтому лучшим вариантом будет использование PHP функции str_word_count() вместо strlen() не забыв, при этом, изменить равенство в нужную сторону. Таким образом с количеством нажатий клавиш будет сравниваться не количество символов в отправленном тексте, а количество слов, которое будет однозначно меньше счётчика. Надёжность защиты от ботов же при этом ничуть не пострадает.

3. PROFIT!

Статья была полезной? Тогда прошу не стесняться и деньгами или биткоинами.


antispam  dev  html  javascript  php  

Реферальный спам – это негативный трафик, накрученный спам-ботами под прикрытием разных доменов и IP-адресов. Основная цель – заставить пользователя перейти по ссылке.

Особенности реферального спама

Рефспам можно условно разделить на два типа.

  1. Спам-боты, вызывающие резкий всплеск посещаемости на вашем сайте. В любой момент посещаемость ресурса может возрасти до небывалых цифр, например до 1000 посетителей, когда раньше там не было и десяти. Делается это для того, чтобы привлечь ваше внимание и заставить зайти в инструменты аналитики, а потом осуществить переход на искомый ресурс. В основном таким видом деятельности занимается Semalt.
  2. Трафик со сторонних сайтов, которые никак не относятся к вашей тематике. Опять же, цель идентична – чтобы пользователь перешел по ссылке.

    Как остановить нашествие спам-ботов на форум?

    Это могут быть как русские, так и любые другие доменные зоны. В основном для привлечения внимания используются .com, .ua.

Отправка запросов осуществляется через HTTP-запросы по Measurement Protocol. С помощью него же осуществляется передача данных в Google Analytics напрямую через серверы Google.

По факту этих переходов на вашем сайте не было, поэтому стандартными средствами заблокировать их в .htaccess нельзя. Но для этого можно использовать всевозможные фильтры в Google Analytics и метрике.

Для чего используется реферальный спам и в чем его вред

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

Поисковые системы уже давно научились определять рефспам, поэтому на поведенческие факторы он, как правило, не влияет, но в целом искажает статистику, поэтому появляются трудности при работе с Яндекс.Метрикой или Google Analytics.

Как бороться с реферальным спамом

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

  1. Создание пользовательских фильтров. В инструментах аналитики вы исключаете все ресурсы с определенными наименованиями хоста. В результате все попытки рассылки спама не будут отображаться у вас в отчетах.
  2. Создание сегмента. Создается новый сегмент в инструментах аналитики, исключаются все ресурсы и добавляются в отдельный шаблон.
  3. Блокировка IP-адреса сайта, который рассылает спам. Но этот метод не очень эффективен, так как спамеры могут свободно менять IP-адрес.

Обратите внимание на первые два способа. В первом случае данные в Google Analytics не меняются, а во втором случае меняются.

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

 

Простой метод защиты веб-форм от спам-ботов без использования каптчи

Обратил внимание на 2 цитаты.

Первая. Журнал «Практика интернет-маркетинга», номер 6, 2009 год. Статья Анастасии Гутниковой (компания «Трилан») «Веб-аналитика в сравнении: Google Analytics и Яндекс.Метрика».

Цитата: «Учтите, что Google Analytics может терять от 20% до 40% (по разным данным) трафика на российских сайтах («не замечает» часть посетителей)«.

Вторая. Сборник материалов V конференции «Управление аудиторией и реклама в Интернете». Доклад Анны Карауловой (Корпорация РБС) «Сказка о двух тапках, или Как сделать выбор между поисковой оптимизацией и контекстной рекламой».

Цитата: «Для сбора данных по посещаемости использовалась статистика LiveInternet и Google Analytics, причем последняя была проиндексирована с учетом потери части трафика, связанной с удаленностью серверов«.

Кроме этого, не помню кто, на RIW-2009 также вскользь упоминали эту проблему в докладах пару раз.

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

Опубликовано: 08.11.2009Категория: Web-технологииКомментарии: 12

ИННОВАЦИОННАЯ СИСТЕМА АВТОМАТИЧЕСКОЙ
МГНОВЕННОЕ ПОЛУЧЕНИЕ ДЕСЯТКОВ ТЫСЯЧ ПОСЕЩЕНИЙ НА ВАШ САЙТ. РЕГИСТРАЦИЯ
Cайтов пользователей в системе: 259166
Всего показов с даты запуска: 4295967295
Не знаете как раскрутить сайт?
Вам нужны посещения? Вы хотите быть первыми в рейтингах?

Блокировка спам ботов на сайте

Традиционные методы раскрутки не приносят быстрого результата?

  • Широкий охват аудитории и подробная статистика
  • Понятное управление и эффективные группы рекламных площадок
  • Самая низкая цена за посетителя в интернете

Зарегистрируйтесь за 30 секунд и получите 100 бесплатных посещений!

Просто настройте систему один раз!
И получайте стабильные посещения на сайт в необходимом Вам количестве всегда. LIVEsurf используют тысячи владельцев сайтов и рекламных агентств:
  • Автоматическая работа без Вашего участия
  • Самая современная клиентская программа
  • Управление поведенческими факторами
  • Возможность заработка и вывода денег

Всего показов с даты запуска: 4295967295 Cайтов пользователей в системе: 259166 Участников: 385342

Экономим трафик и ускоряем интернет

В эпоху скоростных безлимитных подключений многие из нас перестали задумываться о том, какое количество трафика расходуют те или иные приложения и сервисы, и насколько долго загружаются страницы. В то же время, огромное количество абонентов вынуждены пользоваться лимитным тарифными планами, и подгонять свои запросы под ограничения в 10, 5, и даже 3 гигабайта трафика в месяц, да ещё и при скорости в 1-2 мегабита. Конечно же, первое, что приходит в голову в такой ситуации — меньше скачивать файлов.

Что такое спам-боты

Понятно, что от скачивания торрентов с Blu-Ray фильмами придётся отказаться. Но, кроме этого, есть ещё ряд менее очевидных потребителей трафика. И в данном материале мы дадим ряд советов, как его расход свести к минимуму, а заодно ускорить серфинг и немного защитить себя от навязчивого рекламного ПО (т.н. "adware").

Как известно, наиболее тяжёлыми являются медиафайлы и потоковые мультимедиа-сервисы. Увы, но онлайн-кинотеатры и Smart TV не для вас, как ни прискорбно. Ограничьте просмотр видеороликов, а если всё же необходимо взглянуть на что-то важное — выбирайте качество поменьше. Так, если на YouTube выбрать качество 360p, то 20 минут видео вам обойдётся примерно в 120 Мб; но если смотреть в FullHD — то в целый гигабайт. Онлайн-радио или музыка будут расходовать примерно в 3 раза меньше трафика, чем видео в стандартном качестве. Например, одна песня в MP3 занимает порядка 5-8 мегабайт. Единственный совет — ограничивайте аппетиты.

На втором месте по объёмам находится интернет-реклама. Всевозможные баннеры и анимированные картинки, которыми пестрят большинство популярных сайтов, мало того что "сжигают" очень много мегабайт, но также существенно замедляют загрузку страниц. А ещё зачастую несут в себе различную заразу — это бывают и вирусы, и просто нежелательные программы, устанавливающиеся на компьютер без спроса, и никак не желающие удаляться. Чтобы отключить рекламу в браузере, мы настоятельно рекомендуем использовать специальные расширения, например, хорошо зарекомендовавший себя AdBlock Plus. Даже на безлимитках скорость серфинга значительно возрастает, если убрать баннеры и прочую мишуру с веб-страниц.

Многие рекламные баннеры используют технологию Adobe Flash и иные плагины, например, Silverlight. По умолчанию, flash контент автоматически скачивается при загрузке станицы, но это исправимо. Если вы используете Chrome, зайдите в настройки, нажмите ссылку "Показать дополнительные настройки" — нажмите кнопку "Настройки контента", в открышемся окне найдите пункт "Плагины" и включите параметр "Запрашивать разрешение на запуск". Теперь для загрузки наобходимого вам flash контента по нему нужно будет щёлкнуть мышью, а нежелательные объекты сами по себе загружаться не будут (да-да, flash бывает и полезным, ряд сервисов без него работать откажутся). Похожим образом можно сделать в Opera и Firefox (кстати, для последнего есть специальное расширение Flashblock). Блокируя плагины, не забудьте добавить в исключения онлайн-банкинг, площадки электронных торгов, и прочие необходимые и проверенные сервисы (если вы их, разумеется, используете).

Если трафика осталось совсем мало, в настройках любого браузера можно отключить ещё и загрузку изображений (для Chrome, в настройках контента найдите пункт "Картинки" и включите параметр "Не показывать"). Веб-страницы будут выглядеть, мягко говоря, не очень красиво, но текстовая инофрмация на них останется, а мегабайт вы сэкономите прилично.

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

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

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

Из бесплатных сервисов такого рода хотелось бы отметить расширение Экономия трафика для Chrome, функцию Turbo для Opera, и универсальную программу toonel.net. Имейте в виду, что не все веб-сервисы корректно работают со сжатием трафика. Для защищённых соединений сжатие работать не будет, или будет очень слабым. Ну и конечно же, так как в передачу данных вовлекаются сторонние сервера, мы не рекомендуем при включенном сжатии передавать в открытом виде какие-либо конфиденциальные данные, пароли, номера банковских карт, и тому подобное.

Маленький совет — не все веб-сервисы одинаково полезны. 2ГИС или Вектор зачастую с успехом заменяют онлайн-карты, а почтовый клиент (например, Thunderbird) позволит сэкономить трафик на загрузке веб-интерфейса почтового сервера.

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

Также, хотелось бы упомянуть о пиринговых программах, в частности, торренте. Не забывайте, что эти программы не только скачивают, но и раздают скачанное другим пользователям. А исходящий трафик учитывается наравне со входящим. Если и используете торрент — выключайте его после завершения загрузки (да, я понимаю, что это нехорошо и вообще противоречит духу файлообменных сетей, так что выбор за вами).

Учитывайте, что некоторые программы и сервисы продолжают работать в сети даже тогда, когда вас за компьютером нет. Во избежание лишнего расхода трафика в стиле «оно само что-то скачало», включайте сетевой адаптер компьютера только тогда, когда выходите в интернет, и отключайте его после завершения сеанса связи. Для Windows 7: "Пуск" — "Панель управления" — "Сеть и интернет" — "Центр управления сетями и общим доступом" — "Изменение параметров адаптера" — правой кнопкой по значку сетевой карты — "Отключить" либо "Подключить".

И последнее. Для слежения за израсходованным трафиком, удобно установить программу вроде NetWorx. Но не забывайте заглядывать в личный кабинет абонента — учёт трафика провайдером может вестись немного иначе, и не всегда разница будет в вашу пользу. Если вы используете роутер и несколько компьютеров (смартфонов, планшетов) — личный кабинет остаётся единственным простым средством контроля.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *