Сей материал является продолжением статьи "Надоела реклама, баннеры, шманнеры? 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 и расширить РНР класс замутив РНР функцию проверки пришедшего юзера локально, что разумеется скажется на РНР производительности но, об этом как-нибудь в другой раз...