Защита от спам ботов на форуме phpbb3

Замучили меня эти спам боты и я решил начать настоящую борьбу с ними. Недавно как раз наткнулся на пост на одном блоге, как раз про то, как защититься от спама на phpbb3. Я бы мог скинуть ссылку на этот пост и забить, но дело в том, что весь код там представлен в картинках, поэтому Вам придется его переписывать вручную и ещё объяснения не совсем понятные.

В первую очередь откройте файл ucp_agreement.html. В этом файле нужно прописать одну строчку. Найдите такой кусок кода:

<div align=’center’>
<input type=’submit’ id=’agreed’ name=’agreed’ value=’{L_AGREE}’ /><br /><br />
<input type=’submit’ name=’not_agreed’ value=’{L_NOT_AGREE}’ />
</div>

Перед ним вставьте это:

<div align=center><input type=’checkbox’ name=’yanebot’>Я уверен, что хочу стать зарегистрированным пользователем</div>

Теперь откройте файл ucp_register.html. Найдите этот кусок кода:

<tr>
<td colspan=’2′ align=’center’>{S_HIDDEN_FIELDS}<input type=’submit’ name=’submit’ id=’submit’ value=’{L_SUBMIT}’ />&nbsp;&nbsp;<input type=’reset’ value=’{L_RESET}’ name=’reset’ /></td>
</tr>

Перед этим куском кода впишите следующее:

<tr>
<td><b>Поставьте галочку:</b><br /><span>Это сделано для защиты от спам ботов</span></td>
<td><input type=’checkbox’ name=’yanebot’>Я не бот</td>
</tr>

Визуально мы все сделали. Теперь осталось прописать в коде пару строчек, чтобы все ещё и функционировало. Заходим в файл ucp.php (он лежит в корне сайта). Найдите такой кусок кода:

case ‘register’:
if($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
{
redirect(append_sid(‘<$phpbb_root_path>index.$phpEx’));
}
$module->load(‘ucp’, ‘register’);
$module->display($user->lang['REGISTER']);
break;

Исправьте его на следующий:

case ‘register’:
if($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
{
redirect(append_sid(‘<$phpbb_root_path>index.$phpEx’));
}
if (isset($_REQUEST['agreed']) && (!isset($_POST['yanebot']) || ($_POST['yanebot']!=’on’)))
{
redirect(append_sid(‘<$phpbb_root_path>index.$phpEx’));
}
$module->load(‘ucp’, ‘register’);
$module->display($user->lang['REGISTER']);
break;

Готово! Теперь спам боты не смогут пройти регистрацию просто так, а люди наоборот без проблем пройдут регистрацию.

Спонсор поста:
Про легальные порошки methoxetamine Вы узнаете на сайте spice.su.

Советуем также почитать:
  1. Как закрыть подписи в noindex на форуме phpbb3
  2. Форум phpbb3 – закрываем копирайты в noindex, исправляем ошибки голосования
  3. Как закрыть подписи на форуме IPB от поисковых систем
  4. TRAFMONSTER отзывы 3. Редактирование сообщений на форуме.
  5. Как написать качественный комментарий, который обязательно одобрят
  6. Филе-о-фиш – такая гадость
  7. Видео. Чудеса, которые можно сделать с помощью рук


5 комментариев на “Защита от спам ботов на форуме phpbb3”

  • ASmit:

    Не работает ваш дополненный код ucp.php в phpBB3

    Обоснуйте и покажите пример ставки в вашем случае на стиле просильвер например
    По крайне мере это не работает там.

    И вы забыли указать чайникам путь до этих файлов,
    а то наверное ищут поди до сих пор где эти файлы.:)

    А они тут например:/styles/prosilver/template/ucp_agreement.html

    И про кодировку у вас ни слова
    А то чайники могут и спутать при сохранении файла в не той кодировке что нужна ( UTF-8 по умолчанию )

    Исправляйте пост до конца и ищите проблему почему не работает ваш код в версиях phpBB 3.09

  • admin:

    скорее всего Вы просто не добавили поля «name»… А так мне трудно сказать почему не работает…
    Я описал в точности как я сделал…

    Путь до файла я не указал, т.к. все в админке делал… Там файлы не надо искать…

  • ASmit:

    Согласен можно и в админке_Стили_Шаблоны_ Стиль по файлам редактировать,
    Но какие и в каком месте поля name я пропустил?
    И в версии 3.09 Части кода описанные вами немного отличаются от ваших в стандартном исполнении стиля просильвер.
    Но найти о понять к счастью легко и просто.
    За это спасибо.
    Но дальше не могу пройти почему то,
    редакция файла и вставка вашего значения в ucp.php не срабатывает и вылетает ошибка.
    Причина,добавка if (isset($_REQUEST['agreed']) && (!isset($_POST['yanebot']) || ($_POST['yanebot']!=’on’)))
    {
    redirect(append_sid(‘index.$phpEx’));
    }

    В чем тогда фишка?

  • ASmit:

    Может в префиксе отличного от phpBB?

  • 666:

    В пхпББ 3.010 вообще ничего похожего нет, увы…

Оставить комментарий

Подпишись на блог
E-mail рассылка:
Я есть в twittere
Я есть в facebook
Я есть в vkontakte
Рейтинг@Mail.ru
PR-CY.ru
Советуем посетить: