Статьи Новости Контакты

29.12.2006
Владимир Яшников

Борьба со спамом в комментариях

борьба со спамом в комментариях

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

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

В чем проблема спама в комментариях

Но для начала давайте разберемся в том, чем, собственно, плох спам в комментариях. Здесь можно выделить две основные причины.

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

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

Методы борьбы со спамом в комментариях

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

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

TypeKey

Использование служб аутентификации. Этот метод тесно примыкает к предыдущему описанному и схож с системой аутентификации, применяемой Microsoft (Passport), Google (Google Account) и "Яндекс" ("Яндекс.Паспорт"). Пользователи перечисленных компаний регистрируются лишь один раз, а затем используют одни и те же логин и пароль для доступа ко всем сервисам, предоставляемым компанией (например, если вы зарегистрированы в Gmail, с теми же данными вы сможете войти в Google Calendar и др. службы). Таких сервисов аутентификации не так и много, к сожалению. Самый известный — TypeKey. Если посетитель зарегистрирован в TypeKey, он сможет оставлять комментарии на всех сайтах, поддерживающих этот сервис (а это практически все блоги на базе Typepad и значительная часть дневников на основе Movable Type). TypeKey может использоваться не только для аутентификации в блогах. Служба имеет открытый API, так что можно "прикрутить" и к своему сайту. Например, известный зарубежный сервис DropCash использует именно TypeKey.

OpenID

TypeKey в России практически не используется. В качестве альтернативы можно порекомендовать OpenID, за этой системой будущее.

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

Переименование скрипта оставления комментария. Очень распространенный и сравнительно эффективный способ. Его суть состоит в том, что переименовываются сам скрипт оставления комментариев и параметры формы комментариев. Проиллюстрируем этот метод на примере двух популярных блоговых CMS — Movable Type и Wordpress. В МТ потребуется переименовать скрипт mt-comments.cgi. После того необходимо прописать новое имя в конфигурационном файле mt.cfg:

CommentScript name-of-script.cgi

Остается сделать перепостроение (Rebuild). Решение для Wordpress было недавно предложено блоггером Setti. Он рекомендует переименовать имена полей формы комментариев. В файле comments.php надо найти все вхождения типа:

name="author", name="email", name="url", name="comment"

и поменять на другие, произвольно выбранные. Как вариант Setti предложил следующее:

name="tipaauthor", name="tipaemail", name="tipaurl", name="tipacomment"

Затем потребуется открыть в текстовом редакторе файл wp-comments-post.php и найти следующие строки:

$comment_author = trim($_POST['author']);
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);

Замените их в соответствии с тем, что вами было прописано в comments.php. В нашем случае это:

$comment_author = trim($_POST['tipaauthor']);
$comment_author_email = trim($_POST['tipaemail']);
$comment_author_url = trim($_POST['tipaurl']);
$comment_content = trim($_POST['tipacomment']);

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

Пример CAPTCHA

CAPTCHA. CAPTCHA — полностью автоматизированный публичный тест Тьюринга (Completely Automated Public Turing test to tell Computers and Humans Apart). Вероятно, с CAPTCHA сталкивался каждый пользователь Сети. В наиболее распространенном виде CAPTCHA представляет собой картинки с сильно искаженными цифрами и буквами. Пример этого теста вы можете видеть сбоку. CAPTCHA является одним из самых популярных средств защиты от спама, загрузки файлов роботами и от массовой регистрации учетных записей и т. п. Метод используется большинством крупных интернет-сервисов, включая "Яндекс", Google, MSN и т. д.

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

CAPTCHA не является гарантированно эффективным методом. Существует несколько способов обхода этой защиты. C этой целью могут использовать OCR-программы (программы оптического распознавания текста). Однако во многих случаях обойти защиту можно даже без использования OCR. В Сети и в специальной литературе описаны алгоритмы обхода CAPTCHA с использованием CAPTCHA-декодера, PHP и т. д.

CAPTCHA — не единственная вариация теста Тьюринга. В качестве альтернативы могут использоваться математические задачи (например, посетителя, пожелавшего оставить комментарий, скрипт может потребовать ввести решение для выражения 1+3=?). Еще один редко используемый метод — проигрывание звукового файла. В этом случае пользователь должен прописать фразу, произнесенную компьютером. Обычно это что-то совсем простое типа числа (One, Two...).

Стоп-слова. В ряде CMS предусмотрена возможность автоматической блокировки комментариев, содержащих запрещенные слова и фразы. Если ваш ресурс никак не связан с распространением порнографии, фентарминов и т. д., вы безболезненно можете внести эти слова (porn, phentarmine) в "черный" список. Использование защиты "стоп-слова" позволяет оградить блог или форум от значительной части спама.

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

Akismet

Akismet. Разработкой и поддержанием сервиса занимается компания Automattic, которая среди прочего развивает Wordpress и сервис Wordpress.com. От владельца интернет-ресурса требуется установка плагина или библиотеки. Если сначала Akismet работал лишь на Wordpress, то теперь список поддерживаемых платформ и CMS, форумных скриптов существенно расширился. Под защитой Akismet могут находиться и пользователи Movable Type, Drupal, Nucleus, Serendiptity и т. д. Даже некоторые форумы поддерживаются. Есть соответствующие библиотеки и для Ruby, .Net, Pyton.

Akismet — чрезвычайно эффективный сервис с минимальным количеством ложных срабатываний
Ресурсы, не преследующие цель извлечения прибыли, могут получить Akismet API key бесплатно, нужно лишь зарегистрироваться на Wordpress.com. Разработчиками предусмотрены варианты коммерческого использования сервиса.



Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2016 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100