TCSE

Надоел спам? Настраиваем captch`y для CMS DLE

На данный момент неоспоримым является тот факт, что каптчи (англ. "CAPTCHA", а попросту - картинка анти-бота) обходятся спам-ботами, добавляющими комментарии и регистрирующими новые аккуанты на сайтах под управлением CMS DLE.

Многие люди пытаются решить эту назойливую проблему разными способами: изменением вида генерируемой изображения с символами, заменой самой каптчи или же попросту отказываются от использования защиты в виде каптч и устанавливают другие доступные анти-спам системы.

В этой статье пойдет речь о стандартном анти-бот средстве движка DLE, в котором есть возможность изменения его конфигурации.

Для начала открываем файл ./engine/modules/antibot.php - это и есть анти-бот. В коде скрипта есть множество понятных (и не особо) настроек. ;)

Начнем со шрифтов.
На картинке каптчи выводятся символы из шрифтов, которые находятся в папке ./engine/modules/fonts, - оттуда скрипт случайным образом и выбирает образцы шрифтов.

Чем больше разнообразных, нестандартных, а так же легких для распознавания человеком и одновременно проблематичным для робота шрифтов, тем будет лучше. ;)
Картинки с шрифтами (в формате *.png) можно создать своими руками. Фокус только в расстояниях между символами и черточками над ними.

Усложненим распознавание ботами картинки.

В коде скрипта есть следующие строчи:
  // качество JPEG-изображения CAPTCHA (чем больше, тем выше качество)    var $jpeg_quality = 90; // максимальное, можно поставить 70-80


Знайте, что чем хуже качество генерируемой картинки, тем более проблематично ее распознать роботу. Но помните также, что человеку символы на картинке должны быть понятны и различимы.

Добавление других символов для генерации изображения.

За эту процедуру отвечает значение переменной:
   // символы, используемые для рисования сгенерированного изображения CAPTCHA        var $allowed_symbols = "023456789"; // алфавит БЕЗ похожих символов (o=0, 1=l, i=j, t=f)


По умолчанию скрипт генерирует только цифры. Нетрудно догадаться, что в списке не используются схожие между собой символы, такие как: o и 0, 1 и l и т.д. Это важно, так как символы на картинке отображаются не так как в файлах шрифтов - скрипт их видоизменяет.

Помните, что вносить в список можно только буквы и цифры, которые есть в Ваших файлах шрифтов.

Изменение количества символов на изображении.

По умолчанию скрипт генерирует случайную последовательность из 5-6 символов, которые будут отображены на картинке. За эту функцию отвечают следующие строки:
 // количество символов в строке    var $length_min = 5; // минимальное    var $length_max = 6; // максимальное    var $length = 0; // длина будет сгенерирована


Если вы увеличите, или напротив - уменьшите количество символов для генерации, то желательно также изменять размеры генерируемого изображения - эти настройки содержатся в следующих строках кода:
    // размер изображения CAPTCHA (оптимальные параметры)    var $width = 120;    var $height = 50;


источник dle-info.ru