Unlimited HostingFree Drupal ThemesFree Drupal Themes
 
 

PostHeaderIcon Как защититься от спамеров!

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

Код защиты от спамеров:

$i = 0;
$fp = fopen("stopwords.txt", "r");
if($fp)
  {
   while (!feof($fp))
    {
     $stopword = fgets($fp, 10000);
     $pos = strpos(strtolower($text), strtolower(trim($stopword)));
     if ($pos !== false)
       $i++;
    }
  }
if($i>0)

  {
   exit('вы нарушили правила добавления комментариев');
  }

А теперь давайте в кратце разберем его (только то, что необходимо знать)

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

  • </a>
  • [url
  • **й
  • ***да
  • ну и другие любые слова

А вообще лучше исправлять защищаться о спамеров на берегу моря в Таиланде:)

$text - в этой переменной хранится текст вашего комментария. Именно с ним в нем мы будем искать стоп-слова

exit('вы нарушили правила добавления комментариев'); - эта функция (а точнее не функция, но не важно) завершает загрузку страницы, если стоп-слова есть в комментарии. Тут вы можете придумать что-нибудь свое, как вариант просто не добавлять его в базу и вывести обычное сообщение с ошибкой.

Вот и все, ничего сложного. Зато позволит избежать на вашем сайте матов, ругательств, а так же ссылок в комментариях. Только http:// не надо в стоп-слова заносить, т.к. некоторые юзеры могут захотеть поделиться полезной ссылкой, а не смогут. Просто не делайте ее активной и все. 

А самое хорошее, что никаких каптч нет на сайте, а это только способствует увеличению комментариев.

Добавить новый комментарий
Содержимое этого поля является приватным и не будет показано остальным.
  • Адрес веб-страницы и E-mail адреса преобразуются в ссылки автоматически.
  • Разбивка строк и параграфов выполняется автоматически.

Подробности об опциях форматирования

CAPTCHA
Этот вопрос предназначен для защиты от спам-роботов.