Защита от спам ботов на форуме 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}’ /> <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.
- Как закрыть подписи в noindex на форуме phpbb3
- Форум phpbb3 – закрываем копирайты в noindex, исправляем ошибки голосования
- Как закрыть подписи на форуме IPB от поисковых систем
- TRAFMONSTER отзывы 3. Редактирование сообщений на форуме.
- Как написать качественный комментарий, который обязательно одобрят
- Филе-о-фиш – такая гадость
- Видео. Чудеса, которые можно сделать с помощью рук
Не работает ваш дополненный код ucp.php в phpBB3
Обоснуйте и покажите пример ставки в вашем случае на стиле просильвер например
По крайне мере это не работает там.
И вы забыли указать чайникам путь до этих файлов,
а то наверное ищут поди до сих пор где эти файлы.:)
А они тут например:/styles/prosilver/template/ucp_agreement.html
И про кодировку у вас ни слова
А то чайники могут и спутать при сохранении файла в не той кодировке что нужна ( UTF-8 по умолчанию )
Исправляйте пост до конца и ищите проблему почему не работает ваш код в версиях phpBB 3.09
скорее всего Вы просто не добавили поля «name»… А так мне трудно сказать почему не работает…
Я описал в точности как я сделал…
Путь до файла я не указал, т.к. все в админке делал… Там файлы не надо искать…
Согласен можно и в админке_Стили_Шаблоны_ Стиль по файлам редактировать,
Но какие и в каком месте поля name я пропустил?
И в версии 3.09 Части кода описанные вами немного отличаются от ваших в стандартном исполнении стиля просильвер.
Но найти о понять к счастью легко и просто.
За это спасибо.
Но дальше не могу пройти почему то,
редакция файла и вставка вашего значения в ucp.php не срабатывает и вылетает ошибка.
Причина,добавка if (isset($_REQUEST['agreed']) && (!isset($_POST['yanebot']) || ($_POST['yanebot']!=’on’)))
{
redirect(append_sid(‘index.$phpEx’));
}
В чем тогда фишка?
Может в префиксе отличного от phpBB?
В пхпББ 3.010 вообще ничего похожего нет, увы…