Статьи

Работа с автоматическим спамом

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

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

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

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

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


$badwords = array(
'poker', 'online-poker', 'onlinepoker', 'holdem', 'casinos',
'online-casinos', 'casino', 'online-casino', 'baccarat', 'craps',
'blackjack', 'slots', 'roulette', 'keno', 'wsop'
);

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

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

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

В этой статье о борьбе со спамом в комментариях в WordPress предлагается несколько способов остановить спам в комментариях. Например, они выступают за фильтрацию на основе правил, такую ​​как просмотр количества гиперссылок в контенте, «спам-слов», как и в решении, которое я реализовал, фильтрация по IP-адресам и многие другие хаки. Это хорошая сводка различных способов предотвращения спама в комментариях и, следовательно, автоматического спама в форме.

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

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