Вы здесь

Не ту войну назвали холодной

Борьба со спамом в комментариях и материалах на Друпале (Drupal)

Категория блога: 

Написанное относиться в версиям Друпала 5,6,7.

Всё изложенное - личный опыт. А значит, не IMHO, но имеет естественные ограничения. То есть дополнения принимаются, возражения по существу сказанного - нет. Я не силён в друпале как кодер. Но с большим опытом эксплуатации, начиная с 4.5. Это, вроде, уже больше пяти лет.

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

Существует четыре способа борьбы со спамом в друпале. Ну или, точнее, четыре способа борьбы со спамом на сайтах, созданных на CMS Drupal. Причём по тому же личному опыту именно эти способы и только эти способы. Всё остальное рано или поздно роботы пробъют.

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

1. Совместное использование нескольких модулей с различными способами фильтрации (ограничения) сообщений

Коротко. Шаг вправо-шаг влево. Считаешься спамером

Суть. Совмещение различных способов распознавания и блокировки спама, реализуемых несколькими модулями. То есть, во-первых, блокировка сообщений, содержащим множество http ссылок. Во-вторых, предложение комментатору поставить галку "Я не спамер", что спам-роботы обычно игнорируют. И наконец, подстановка дополнительных полей скрытых при помощи css, не видных обычному пользователю и т.д.

Совместное использование следующих модулей

- Spamicide

Для седьмой, шестой и пятой версии Друпала

- Block Anonymous Links

Для седьмой, шестой и пятой версии Друпала

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

- Simple AntiSpam

Для седьмой версии

Для шестой версии: Пишем простой модуль защиты от спама | xandeadx.ru

Simple AntiSpam для пятой версии движка легко бэгпортируется заменой аргументов hook_form_alter.

Hidden CAPTCHA (для 5,6,7 версии), соответственно, вместе с модулем CAPTCHA

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

Отдельно советую использовать модули получения комментариев на почту (например Comment Mail /5,6/, или его аналоги), чтобы мониторить результативность модулей, и, разумеется, включить запись действия вышеперечисленных модулей в логи (для тех модулей у которых предусмотрено это отдельной опцией).

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

2. Нестандартные формы

Коротко. Спам робот теряется в нестандартных формах отправки комментариев-материалов.

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

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

Надо сказать что сложные состоящие из множества полей и групп материалы ckk сами по себе являются препятствием для спам-ботов. Так было примерно четыре, три, два года назад, но не сейчас.

Например у меня на сайте brnk.ru с некоторых пор роботы стали заполнять и постить некоторые материалы.

Делаем ещё одно поле ckk и превращаем его в простейшую капчу.

Введите телефонный код города Брянска 4832

Строгая форма антиспам на CKK на сайте BRNk.ru

В другой форме: "введите год основания города Брянска".

Эти материалы ещё и в некоторой мере отсеивают материалы не относящиеся к тематике сайта, а именно к г. Брянску

На сайте ecolib.ru я использовал ещё более очевидное решение: "введите в поле название домена".

В настройках поля ckk, используется обязательный аргумент (скриншот).

Надо сказать что модулей - spamcide из предыдущего способа использует очень похожий принцип.

Регистрация пользователей закрывается аналогично нодам с использованием модуля Content Profile, то есть профайлы пользователей становятся нодами, к которым можно привязать поля ckk .

Ещё раз. Для памяти.

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

Далее условно внешние способы фильтрации спама.

3. Использование mollom

Коротко. Комментарии на вашем сайте. Их проверка на стороннем сайте.

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

4. Не совсем про друпал, но про друпал сайты. Отказ от использования движкового модуля, использование сторонних сервисов

Вынос комментариев во внешние внедряемые в сайт сервисы: Фейсбук, вконтакте и дискус.

Именно эти три сервиса на 90 процентов перекроют всю вашу аудиторию. Всё зависит от того зачем вам комментарии. К конкретной статье или, возможно, ко всему сайту. Возможно вас устроит даже один reformal вообще без всяких заморочек. Это может быть прямое использование api сервисов путём темизации и сниппетов или же при помощи модулей.

Disqus (для Drupal 7,6,5)

При совместном использовании здесь пригодится ещё модуль Quick Tabs для реализации переключения между системами через закладки.

Объединение нескольких сервисов комментирования на этом сайте.

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

Я не сказал про все существующие модули. Лично мне кажется бесполезными и трудоёмкими все, основанные на .

Я обошел внимением некоторые тонкости вроде малозначимых здесь ньюансов отличия борьбы со спамом разрешенных и анонимных комментариев и сайта заспамленного в результате неконтролируемой регистрацией пользователей уже после регистрации спам-ботов в качестве пользователей. Здесь не обойтись без триггеров и пользовательских рангов-ролей. Но мне это не интересно.

И наконец, немного повторюсь подводя итоги. Что же использую я?. Первый способ. Второй способ для материалов, но не для комментариев (здесь пока обхожусь первым). Частично третий способ на этом сайте. Но на новых сайтах буду комбинировать третий и четвёртый для комментариев и второй для материалов. Всё идёт к тому, что даже комбинация нескольких модулей и способов борьбы на локальном движке будет либо обходится роботами, либо становится неудобной для пользователей-людей и борьба со спамом при помощи нескольких модулей в комментариях самостоятельно будет слишком трудозатратна. К тому же многие уже привыкли или привыкнут (или их приучит те же 3dnews.ru и mobile-review.com) оставлять комментарии под своими аккаунтами в соцсетях или под OpenID.

Социальное комментирование на 3dnews.ru

Я затеял эту заметку в том числе и потому, что уже через год придётся придумывать новые или варьировать старые способы борьбы со спамом. Памятка для себя. Побеждённый спам уже не так раздражает, на правда ли?

Update февраль 2014. Дополнительно читайте это: http://xandeadx.ru/blog/drupal/701

Обсудить

Комментарии

Нормальная статья. Сайт делаю, купил пару ссылок на сапе и откуда то 18 комментов оставили соссылками, причем не только у меня по плагиатусу проверил. Кажется эти самые веб мастера которые заявки принимают и спамят направо и на лево. Уроды.

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

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