PHP защита от спамеров - StopForumSpam на примере форума phpBB

archive view archive save

email-spam2-300x286.jpg Сей материал является продолжением статьи "Надоела реклама, баннеры, шманнеры? hosts - Блокируем список баннерных, рекламных сетей" и посвящён PHP защите от спамеров для сайтов и форумов. Современное законодательство многих стран расценивает рассылку спама как преступление, в особо тяжких случаях ведущее к крупным штрафам или тюремному заключению виновных.

Как ранее упоминалось Везде должно быть чувство меры и всему должны быть разумные пределы, в том числе и рекламе которая в последнее время просто заполонила все места обитания челов., Итнернет не стал исключением!

PHP защита от спамеров для сайтов и форумов нынче становится очень актуальной темой потому, что в отличии от рекламного спама который уже висит на сайтах и форумах, размещённый по собственной инициативе самого владельца сайта или форума, интернет спемеров (спам ботов) желающих разместить свои мессаги становится всё больше и если с ними не воевать то вскоре сайт или форум превратится в спам свалку доверху набитую одним и тем же гавном и никакая CAPTCHA тут не поможет - спамеры наступают, они нахлабучивают!:)

Врукопашную воевать со спамерами дело утомительное и не благодарное. Многие пытаются блокировать (банить) почтовые адреса спамеров в разных модулях сайта где это возможно, блокировать IP-адреса и их диапазоны с помощью .htaccess но, это так же становится довольно утомительно и мало эффективно. Потому как многие сайты работают на PHP, то многие администраторы сайтов пытаются самостоятельно собрать БД спамеров их ИП и на этой почве замутить PHP защиту от спамеров.

Вы никогда в жизни самостоятельно не соберёте хорошую БД спамеров! Придумывать PHP защиту от спамеров не надо, она уже придумана. В сети есть сервис www.stopforumspam.com который предоставляет гибкий API для построения PHP защиты от спамеров для своего сайта или форума:

Но и тут нам подвезло, нам ненужно писать свой класс PHP API для PHP защиты от спамеров на базе данных www.stopforumspam.com, PHP API класс уже написан:

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Дело за малым, бери и юзай:)).

Конфигурация PHP защиты от спамеров

Например для построения PHP защиты от спамеров для форума phpBB мы в корне форума создадим структуру директорий с филами:

|--/phpBB
    |--/...
    |--/mainlib // каталог для либ не от phpBB
        |--/StopForumSpam // каталог для либы "StopForumSpam-PHP-Lib"
            |--/log // каталог для .log файла(ов)
                |--index.html // на всяк случай
            |--/tpl // каталог с нашими шаблонами
                |--index.html // на всяк случай
                |--to_spammers.tpl // шаблон с мессагой
            |--.htaccess // для защиты диры от веб доступа
            |--config.php // конфигурация "StopForumSpam-PHP-Lib"
            |--index.html // на всяк случай
            |--README.md // описание класса "StopForumSpam-PHP-Lib"
            |--stopforumspam.php // собственно класс "StopForumSpam-PHP-Lib"
    |--/...

После того как загрузили и распаковали файлы класса (README.md и stopforumspam.php) в каталог /StopForumSpam создаём файл config.php с таким содержимым:

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

В файл spam-log.txt будут записываться ИП адрес, дата и время спамера пытавшегося запросить страницу регистрации. Данные о каждой новой попытке спамера запросить страницу регистрации будут добавляться в конец файла.

В файл шаблона to_spammers.tpl с мессагой для спамеров можно запхнуть что-то примерно такое ОБРАЩЕНИЕ К СПАМЕРАМ! / MESSAGE TO SPAMMERS!:

Обращение к спамерам всех стран и континентов.

Уважаемые Спамеры!

Этим письмом я хочу засвидетельствовать свое почтение и уважение к вашей
нелегкой работе.

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

Я в совершенстве овладел Американским Английским, Американским Албанским и Американским Украинским языками, посетил все предложенные бизнес-семинары и обладаю высшим посвящением в девяти церквях.

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

Я получил такие значительные скидки на программное обеспечение, что
практически целиком прибрал к рукам это направление в бизнесе.

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

Все барахло я вывожу в свои африканские страны, и в этом мне помогают
рекомендованные Вами ГРУЗЧИКИ.

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

Как видите, я - верный, постоянный и оптовый ваш клиент. Я никогда не спорю, я делаю все, что вы мне советуете. Не могу ли я, учитывая свой теперешний статус, попросить и вас о небольшой ответной услуге? Дело в том, что на протяжении полугода я не получил от вас ничего нового. Все, что вы мне предложили за последние 6 месяцев, у меня уже есть.

Напомню, что мой член увеличен (благодаря вам) до полутора метров, причем в спокойном состоянии! При этом, учтите, что всю предлагаемую вами "виагру" я приобрел и сохранил.

Теперь главное, о моей просьбе: СПАМЕРЫ, ИДИТЕ НАХ..!

В .htaccess как обычно вписываем Deny from all.

Подключение PHP защиты от спамеров к форуму phpBB

Подключать PHP защиту от спамеров ко всему форуму нежелательно, лучше это сделать в тех местах где это будет более оправдано например в скрипт регистрации или комментариев. Подключение нашей PHP защиты от спамеров к форуму не составит особого труда, в нашем случае мы в корне форума phpBB находим и открываем ucp.php и подключаем туда наш config.php:

<?php 
require_once('mainlib/StopForumSpam/config.php');
/**
*
* @package ucp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

Если заметили в config.php есть переменные $email и $remoteIP которые можно использовать в шаблоне. Использовать свой почтовый адрес как есть не рекомендуется, лучше его как-то скрывать. Боты как правило стилями оформления не пользуются и в связи с этим мы например можем перевернуть строку с помощью $email = strrev("[email protected]"); и корректно отобразить её с помощью style="unicode-bidi: bidi-override; direction: rtl;":

<?php 
$email = strrev("[email protected]");
?>
<span style="unicode-bidi: bidi-override; direction: rtl;">
    <?php echo $email; ?></span>

Но я предпочитаю со спамерами не связываться и дополнительной информации им не предоставлять!:)) Вот и всё "любі друзі", вот мы и замутили PHP защиту от спамеров для нашего phpBB форума на БД StopForumSpam, а если нет возможности использовать на хосте сетевые РНР функции, то можно скачать БД спамеров с StopForumSpam и расширить РНР класс замутив РНР функцию проверки пришедшего юзера локально, что разумеется скажется на РНР производительности но, об этом как-нибудь в другой раз...

Автор: Олег Головский


Об авторе
Иван Шаман
Меня нет ни в Инстаграмме ни в Фейсбуке, я просто хожу по улицам и рассказываю первым встречным: сколько зарабатываю; с кем дружу; где живу и чем дышу. У меня даже появилось несколько подписчиков: ПСИХоЛОХ и участковый полицай!
Ещё статьи автора
Комментарии в блоге
Новое на форуме