Pull to refresh

Еще одна исторя войны со спамом на форуме

Reading time 3 min
Views 6.1K


В продолжение темы, я решил поделиться своим опытом борьбы с ботами.

Однако, в отличие от предыдущего поста, я решил обратиться к сторонним сервисам.

картинку нагуглил по запросу «спам» вот тут.

С чего все началось


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

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

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

Однако, было большое желание избавить пользователя от лишней работы при регистрации. Я даже ссылку на активацию аккаунта по почту не присылал. Первое решение которое я попробовал — это StopForumSpam.

Stop Forum Spam


Очень приятный сервис, представляет из себя blacklist ip адресов, email'ов и ников, под которыми регистрируются боты. Кроме того, почти для всех движков есть уже готовые плагины. Еще хочу отметить, что он не требует регистрации, чтобы получить доступ к api (речь идет только о получении информации, чтобы коммитить спамеров регистрироваться все же надо). Запрос информации — это обычный get запрос, все очень просто и понятно.

Сразу наступила радость, так как боты в одночасье пропали. Проблемы все же были: во-первых, буквально через пару недель, после того как я начал пользоваться, сервис ушел в оффлайн на несколько дней (заявляя, что переезд на другое железо), поэтому, в последствии, я сделал себе копию их базы, обновляя несколько раз в день. И, во-вторых, ботов 3-5 в неделю ботов все же пробивалось.

Можно было бы и наплевать, в конец концов не так много. Но интерес появился и я погуглил аналогичные сервисы.

Project Honey Pot


Следующей жертвой стал Project Honey Pot. Достаточно старый проект, муторная регистрация, муторная установка, муторная настройка и муторные запросы. Может, просто не распробовал.

Запросы напоминают RBL для борьбы с почтовым спамом: dns-запрос определенного вида. В ответ приходит тип и уровень угрозы.

Более того, готовый плагин к smf работать почему-то отказался. Но довести до конца хотелось, поэтому я дописал небольшой кусочек, который параллельно со stopforumspam делал запрос и результаты записывал в базу.

Общую статистику я приведу в конце, но сейчас скажу, что примерно треть спамеров пропускает.

Akismet


Изначально akismet разрабатывался как плагин к WordPress и начиная со 2ой версии включен в него по-умолчанию. Тоже хочет регистрацию и платный для коммерческого использования. К счастью, не мой случай.

Запросы — post определенного вида.

Хотя готового плагина я не нашел, есть масса примеров и библиотек, поэтому я без проблем его добавил к уже имеющимся.

Статистика


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

Общее число запросов на регистрацию: 2624

Из них реальных людей: 75

Спамеров: 2549

По версии:

StopForumSpam: 98 / 2526

ProjectHoneyPot: 1067 / 1557

Akismet: 140 / 2484

Вместо заключения


Сейчас решение принимается по результатам StopForumSpam и Akismet, при регистрации задержка на запросы не заметна. Я думаю, что будут проблемы с таймаутами в том случае если сервисы будут недоступны, я уже занес в TODO list, но пока таких проблем не было.

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

А капчу я отключил…
Tags:
Hubs:
+20
Comments 32
Comments Comments 32

Articles