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