Проблема всем известна, нескончаемый поток спама на форуме, не смотря на встроенную защиту в виде капчи?
Спам боты с каждым днем совершенствуются, становятся все умнее, подтверждать регистрацию по почте, распознают родную капчу и ReCapcha им уже позубам 🙁

Прикрутим модифицированную капчу и посмотрим как они справятся. Первое, отключаем родную капчу в админ панели, второе, идем в папку:

/styles/<имя вашей папки шаблона>/template/ucp_register.html;

И ищем там такой код:

Меняем его на этот:

Этот ХТМЛ код содержит в себе 2 степени защиты, первая это собственно капча, которую мы сами сделаем. Боты пишут для огромного числа форумов, по-этому если ваш форум имеет несколько иную структуру, это вводит их в заблуждение, а вас на какое то время избавляет от спама. Мы не будем рисковать и усложним им жизнь, сделав двойную защиту, кроме капчи, прокрутим ответ на простой вопрос. Как вам, «Введите название 8-го месяца», ответ будет естественно «август», человек именно так и ответит, а вот нелюдь не сможет, пока автор бота не напишет для него изменений в алгоритме.
Только не ставьте вопросы из серии: «сколько будет 6+10=», их роботы раскалывают, или слишком заумные вопросы, которые только затруднят реальным пользователям регистрацию. Тут нужен разумный компромис.

Поставить этот ХТМЛ код можно в админ панели в разделе стили, или локально, а потом залив по ftp, но в последнем случае нужно обязательно сбросить кэш в админ панели, иначе вы не увидите изменений. Теперь нам надо в ПХП код поставить проверку этих полей и код новоиспеченной капчи.

Открываем фаил /includes/ucp/ucp_register.php и в 221 строке ставим код, сразу после:

Этот код:

Этот файл вам через админку вам поправить не удастся, поэтому правим локально любым редактором который позволяет сохранять в кодировке UTF без BOM, это очень важно! Итак, входящие данные мы проверяем на iteger ($_POST[‘numbs’]), сравниваем с установленной сессией, сессию устанавливаем в генераторе капчи. Если вы меняете вопрос, ставьте его тут: $_POST[‘questansw’] != ‘сентябрь’, не забудте кавычки.

Перейдем к созданию самой капчи. Создайте папку в корне форума с именем capcha, в ней создайте файл img.php сохраните в кодировке UTF без BOM, это очень важно! Так же подберите 3-4 шрифта, и скопируйте их в папку capcha, я использовал эти, честно скажу долго не копал, лень было. Шрифты берите ttf, не слишком тяжелые. Не берите рукописные и стандартные шрифты, лучше брать шрифт с разными шумами и засечками.

Код писал не я, а некий хороший человек Джелу ссылку на его блог обязательно поставлю как найду, просто затерялась в закладках.
Работа по доводке форума напильником занимает 5 мин! А результат на отлично, по крайней мере пока.
Увидели неточности, или возникли проблемы с установкой, пишите попробуем разобраться вместе.

По теме: