EN  RU

Stop Spam  Почему спамят гостевые книги, блоги и wiki и как с этим бороться.

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

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

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

Итак, для отсечения ботов воспользуемся тестом Тьюринга. Для этого нам понадобиться установить скрипт, который случайным образом генерирует число и выводит его в виде изображения, затем предлагает пользователю ввести видимые им цифры в специальное поле для сравнения. Бот никаким образом не сможет прочитать эти цифры, следовательно, первая задача будет решена. Скрипт состоит из двух основных файлов audit.php и button.php. Для наглядности процесса использования скрипта дополнительно применяются frm.php и audit.html. Файл button.php содержит код ответственный за формирование случайного числа на картинке, а в файле audit.php осуществляется проверка значения введенного пользователем со значением на картинке.

Script Auditor v.1.0

Download Auditor v.1.0 (zip archive)

Пример работы скрипта

Установка

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

  1. Закачиваем файлы audit.php и button.php на ваш сервер и проставить им chmod 755
  2. Открываем файл с формой ввода добавляем в форму две строки::
    
    Это строка будет создавать картинку:
    
    <img width=120 height=30 src="button.php" border="1">
    
    Это поле отводится для ввода:
     
    <input MAXLENGTH=5 SIZE=5 name="userdigit" type="text" value="">
    
    
  3. Смотрим какой скрипт указан в "action" form action="frm.php" и добавляем туда следующий код:
    
     include "audit.php";
    
     if (audit()) {
          // Visitor entered correct number
     } else {
          // Wrong number
     }
    

The function audit() returns "true" if number entered by visitor coincide with number on the image and returns false in other cases.

Вот собственно говоря и все, что необходимо. Функция audit() возвращает истину если цифры, передаваемые через поле ввода "userdigit" совпадают со значением на картинке, в противном случае функция возвратит "ложь". После того как мы стравились с ботами нам необходимо сделать ссылки бесполезными с точки зрения поисковых систем, для того чтобы спамерам было совершенно незачем вручную захламлять ваш ресурс. Наиболее популярным методом является использование редиректа через google.com. Для организации этой процедуры вам необходимо заменить все прямые ссылки на ссылки вида:

http://www.google.com/url?sa=D&q=URL 

Пример:

Old link:
<a href="http://www.msn.com">MSN</a>

New link:
<a href="http://www.google.com/url?sa=D&q=http://www.msn.com">MSN</a>
Проведя эти процедуры вы достаточно хорошо сможете обезопасить свой ресурс от спама, с одной стороны вы отсекаете автоматический постинг сообщений или комментариев, а с другой стороны с помощью редиректа через google делаете эти ссылки бесполезными для спамеров. Good Luck!