
Проблема зі спамом на форумі є актуальною. Спамери призвичаїлися обходити не лише стандартний дистрибутив, моди та «загадки», а й навіть над використанням 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
Спамний бот просто сфігеє, коли за звичкою не відзначиться галочкою і його перекине на головну сторінку форуму, буквально на першому етапі реєстрації.