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

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

В сегодняшней статье я расскажу, как защитить свой сайт от спамеров. Правда речь пойдет больше о самописном сайте, т. к. я не знаю способа внедрить свой код в какую-либо 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:// не надо в стоп-слова заносить, т. к. некоторые юзеры могут захотеть поделиться полезной ссылкой, а не смогут. Просто не делайте ее активной и все.


Карта сайта


Информационный сайт Webavtocat.ru