Антиспам бот – рішення для phpBB

Проблема зі спамом на форумі є актуальною. Спамери призвичаїлися обходити не лише стандартний дистрибутив, моди та «загадки», а й навіть над використанням reCAPTCHA програми allsubmitter’e або Хрумері для спаму здобули перемогу.

Спробуємо обдурити спамерів і додамо додатково чекбокс при реєстрації, що має ввести в замішання роботів реєстраторів.

Нам потрібно три файли: ucp.php знаходиться в корені форуму, ucp_agreement.html – сторінка угоди, знаходиться в styles/prosilver/template і файл ucp_register.html знаходиться там же.

У файлі 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;

і додаємо перед $module->load(‘ucp’, ‘register’);

if (isset($_REQUEST[‘agreed’]) && (!isset($_POST[‘greg’]) || ($_POST[‘greg’] != ‘on’)))
{
redirect(append_sid(” {$phpbb_root_path} index.$phpEx”));
}

Виходить:

Далі файл ucp_agreement.html
Додаємо:

        <div align=center><input type=”checkbox” name=”greg” /> Я впевнений, що хочу стати зареєстрованим користувачем</div>

Виходить:

Виглядає це так:

Далі файл ucp_register.html

Додаємо рядок:

<div align=center style=”font=size: 14px; font=weight: 700″><input type=”checkbox” name=”greg”/> Я не бот</div>

у мене це 100 рядок і результат виглядає так:

результат: 

В результаті вироблених доповнень ми отримуємо при реєстрації додаткові чек бокси для підтвердження впевненості стати зареєстрованим користувачем у угоді користувача, файл ucp_agreement.html та додатковий чек бокс у формі реєстрації, файл ucp_register.html
Спамний бот просто сфігеє, коли за звичкою не відзначиться галочкою і його перекине на головну сторінку форуму, буквально на першому етапі реєстрації.