Как многим известно, в форуме phpbb3 присутствует несколько модулей от спама. Но графические капчи уже давно не помеха спам ботам, а вот текстовое подтверждение при регистрации никогда не падет под натиском спаммеров. А представленный ниже мод усилит его.
Текстовое подтверждение настраивается следущим образом - Админка - Общие - Средства против спам-ботов , блок Доступные модули, подпункт Установленные модули , из выпадающего списка выбираете Текстовое подтверждение, чуть ниже в подпункте Настройка модулей нажимаете Настроить и вбиваете свои вопросы а так же ответы на них.
Чем полезна данная модификация ? Многие из вас вбивают слишком легкие вопросы, ответы на которые спам-боты могут найти через поисковые системы. А если вопросов много задано, то очень сложно понять какой вопрос боты с легкостью проходят, вот данный мод ведет удобный лог ответов при регистации. Ниже прикрепляю скриншот логов из моей админки Как видно по скриншоту, даже на мой банальный вопрос спам боты не могут ответить. Почему Боты ? Поглядите на ники, пытающихся зарегистрироваться,а так же айпи адреса.
Вообщем с этим модом у вас будет надежная защита от спама.
Открыть
Код: Выделить всё
'critical' => array('title' => 'ACP_CRITICAL_LOGS'
Код: Выделить всё
// Register LOG Start -->
'register' => array('title' => 'ACP_REGISTER_LOGS', 'auth' => 'acl_a_viewlogs', 'cat' => array('ACP_FORUM_LOGS')),
//-->Register LOG End
Код: Выделить всё
'chg_passforce' => array('lang' => 'FORCE_PASS_CHANGE'
Код: Выделить всё
// Register LOG Start -->
'enable_register_log' => array('lang' => 'ALLOW_REG_LOG', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
//-->Register LOG End
Код: Выделить всё
case 'admin':
$log_type = LOG_ADMIN;
$sql_forum = '';
break;
Код: Выделить всё
// Register LOG Start -->
case 'register':
$log_type = LOG_REGISTER;
$sql_forum = '';
break;
//-->Register LOG End
Код: Выделить всё
'ALLOW_EMAIL_REUSE_EXPLAIN' => 'Разные пользователи смогут регистрироваться
Код: Выделить всё
// Register LOG Start -->
'ALLOW_REG_LOG' => 'Вести лог регистраций',
//--> Register LOG End
Код: Выделить всё
define('LOG_USERS', 3);
Код: Выделить всё
// Register LOG Start -->
define('LOG_REGISTER', 4);
//-->Register LOG End -->
Код: Выделить всё
'ACP_USERS_LOGS_EXPLAIN' => 'Это список действий, выполненных пользователями или над пользователями (жалобы, предупреждения и заметки о пользователях).',
Код: Выделить всё
// Register LOG Start -->
'ACP_REGISTER_LOGS_EXPLAIN' => 'Это список всех попыток регистраций пользователей.',
'ACP_REGISTER_LOGS' => 'Лог регистраций',
//--> Register LOG End
Код: Выделить всё
'LOG_CLEAR_USERS' => '<strong>Очищены логи пользователей</strong>',
Код: Выделить всё
// Register LOG Start -->
'LOG_CLEAR_REGISTER' => '<strong>Очищен лог регистраций</strong>',
//--> Register LOG End
Код: Выделить всё
'LOG_WORD_EDIT' => '<strong>Изменён цензор слов</strong><br />» %s',
Код: Выделить всё
// Register LOG Start -->
'REGISTER_TRACE' => 'Попытка регистрации пользователя <b>%1s</b>.',
'REGISTER_SUCSESS' => 'Пользователь <b>%1s</b> был успешно зарегистрирован.',
'REGISTER_TEXT_CONFIRM' => 'На вопрос <b>%1s</b> пользователь ответил <b>%1s</b>.',
'REGISTER_ERROR' => 'Пользователь <b>%1s</b> не зарегистрирован: %1s.',
//--> Register LOG End
Код: Выделить всё
if ($submit)
{
Код: Выделить всё
// Register LOG Start -->
if ($config['enable_register_log'])
add_log('register', 'REGISTER_TRACE', $data['username']);
//-->Register LOG End
Код: Выделить всё
case 'admin':
$sql_ary['log_type'] = LOG_ADMIN;
break;
Код: Выделить всё
// Register LOG Start -->
case 'register':
$sql_ary['log_type'] = LOG_REGISTER;
break;
//-->Register LOG End
Код: Выделить всё
function check_answer()
{
global $db;
Код: Выделить всё
function check_answer()
{
global $config, $db;
Код: Выделить всё
$answer = ($this->question_strict) ? utf8_normalize_nfc(request_var('qa_answer', '', true)) : utf8_clean_string(utf8_normalize_nfc(request_var('qa_answer', '', true)));
Код: Выделить всё
// Register LOG Start -->
if ($config['enable_register_log'])
add_log('register', 'REGISTER_TEXT_CONFIRM', $this->question_text, $answer);
//-->Register LOG End
И добавляем модуль ACP_REGISTER_LOGS в ACP -> Обслуживание -> Логи.
Редактируем:
Имя модуля: Лог регистраций
Тип модуля: Модуль
Родитель: Логи
Модуль включён: Да
Отображение модуля: Да
Выбор модуля: Логи [acp_logs]
Метод использования модуля: Лог регистраций
После этого нам надо включить Логи регистрации:
Общие - Регистрация пользователей - Вести лог регистраций: Да
Вот и все, мод установлен, удачи