Удаление бот-пользователей с сайта на Drupal

bots-vs-human

Несколько лет назад, когда решил попробовать 7ю версию drupal, я создал сайт wbserv.ru. Тогда только начали предлагать разные облачные услуги, это показалось хорошим поводом для сайта-коллекции. Сайт запущен в 2011, а недавно его облюбовали спам-боты. Проект оказался завален спам-комментариями, нашпигован пользовательскими бот-аккаунтами.

О капче (captcha).

При этом на сайте стоит модуль капча. Я уже писал не раз, что каптча — это инструмент для борьбы с нормальными пользователями, а ботам она не помеха. Так как спамеры используют сервисы антикепчи. Компьютеры развиваются, техники распознавания улучшаются, смысл кепчи — теряется. Это касается прежде всего распознавания кода с картинки.

Сейчас нужно подходить более креативно к созданию анти-бот тестов.

Креативный подход

Используют много разных подходов, основанных на поведении ботов. Например, можно установить минимальное время, которое необходимо для заполнения той или иной формы. Т.е. мы рассчитываем на то, что боты делают все быстро. Понятно, что имитировать такое «человеческое» поведение просто. Потому, как только появился такой подход, боты стали это учитывать. Среднее присутствие ботов на сайте выросло в среднем до 15-30 сек.

Лишние поля. Ещё одна поведенческая фишка — боты заполняют все поля, а пользователь только те, что видит. Остается добавить невидимое поле, чтобы бот попался на его заполнении. Можно предположить, что бот должен читать и понимать CSS файлы сайта, чтобы обойти данную защиту. Но в случае, когда это стандартная форма, бот может игнорировать нестандартные поля формы. В любом случае, программу можно настроить так, чтобы она заполнила нужные поля и проигнорировала лишние.

Оба описанных метода реализованы в модуле honeypot. Видимо, автор рассчитывает, что боты будут липнуть как пчелы на мед на скрытое окно формы. :) К сожалению, эти подходы уже не работают так, как хотелось бы.

Перечислять способы можно долго. Новые идеи приводят к результатам только в начале их применения. Как только идея становится массовой — бот-мейкеры их учитывают. Это бесконечная война.

Регистрации ботов

Боты регистрируются на сайтах часто на будущее. Т.е. когда придет время для рассылки спама — будет поднята база регистраций, проведена серия входов на сайты и выполнение каких то действий — публикация комментариев, статей, рассылка каких то текстов и т.п. Что характерно, после регистрации они даже не удосуживаются зайти в свой аккаунт. А это уже своеобразный критерий для отбора.

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

Тем, кто сами программирует сайты достаточно добавить в свой модуль такой код для hook_cron

Функция удаляет аккаунт, если пользователь с момента регистрации ни разу не вошел в свой профиль на сайте. Даётся 3600 секунд (т.е. целый час) для входа после регистрации.

Для более ленивой аудитории тот же код, обернутый в модуль Drupal.

Модуль для удаления бот-аккаунтов

Установка — обычная для drupal. Распакуйте модуль в папку модулей drupal, и включите его. У модуля есть страница настроек — admin/config/people/user_cleaner, где можно изменить интервал, необходимый для первого входа в профиль.

Я назвал модуль — user_cleaner. Версия ядра — Drupal 7.x.

Скачать модуль user_cleaner_1.0

Что делает данный модуль.

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

Если добавить время периода выполнения cron к времени, указанному в модуле user_cleaner, то мы получим максимальное время жизни спам-аккаунта на сайте.

Написать комментарий

Мало букафф? Читайте есчо !

Комплекс антиспам мер, примеры для Drupal 6

Январь 17, 2013 г.

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

Читать

SQL скрипт для удаления комментариев не прошедших проверку

Декабрь 8, 2015 г.

Есть у меня несколько сайтов на wordpress, которые я когда то сделал в порыве энтузиазма, а теперь не занимаюсь ими особо. На днях обратил внимание, что один из них содержит > 12000 непроверенных комментариев. Комментарии я давно не публикую сразу, ...

Читать

 

Комментарии к «Удаление бот-пользователей с сайта на Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: