Модуль «Защита форм картинкой» (CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart) позволяет защищать формы изображением, которое содержит набор символов, легко читаемые людьми, но с трудом поддающиеся распознаванию автоматами. Таким образом, CAPTCHA — это дополнительное препятствие для автоматизированных средств размещения информации на сайтах (форумах, гостевых книгах, формах регистрации и обратной связи, и т.п.)
Для функционирования модуля необходима установленная библиотека для работы с графическими изображениями GD2.
Чтобы защитить форму с помощью модуля Captcha, в ней должны присутствовать изображение, на котором находится код подтверждения, скрытое поле, через которое передается хэш-код, ассоциированный с кодом подтверждения и поле для ввода пользователем кода подтверждения.
Хэш-код генерируется либо напрямую вызовом функции nc_captcha_generate_hash(), либо косвенно вызовом nc_captcha_formfield(). Хэш-код хранится в базе данных и по нему происходит проверка корректности кода подтверждения.
На странице валидации формы происходит вызов функции nc_captcha_verify_code(), которая сравнивает введенный пользователем код подтверждения и значение в базе данных, индексированное хэш-кодом.
Настройки модуля «Защита форм картинкой» доступны через интерфейс управления модулями в системе управления NetCat. Путь к настройкам: Инструменты — Модули — Настройки модуля «Защита форм картинкой».
Начиная с версии 5.7.0.17035 существует возможность использовать защиту формы картинкой или использовать другие способы, например, reCAPTCHA. Ниже перечислены настройки для защиты форм картинкой:
Настройка | Описание |
---|---|
ALPHABET | Набор символов, из которых складывается код потверждения, отображаемый на картинке. Можно использовать латинские символы и арабские цифры. Кириллические символы отображаются неверно, по причине их недоступности в библиотеке GD2, с помощью которой формируется изображение. |
NUMBER_OF_CHARS | Количество символов в коде подтверждения. Если параметр указан в виде "X..Y", то код будет состоять из случайного количества символов (от X до Y символов). Если указано одно число, код будет всегда состоять из данного числа символов. |
DURATION | Срок хранения информации о сгенерированном коде, в секундах. Первоначальное значение — 30 минут (1800 = 30 * 60). По истечении срока хранения, сгенерированный код становится в любом случае неверным. Если вы защищаете большую форму, на заполнение которой пользователю потребуется много времени, увеличьте значение этого параметра. |
IMAGE_WIDTH | Ширина генерируемой картинки, в пикселях. |
IMAGE_HEIGHT | Высота генерируемой картинки, в пикселях. |
NUMBER_OF_LINES | Дополнительная защита картинки от автоматического распознавания размещает на фоне произвольно проведенные прямые. Данный параметр отвечает за их количество. |
HIDDEN_FIELD_NAME | Имя скрытого поля в форме, через которое передается хэш-код, соответствующий показанному пользователю изображению. |
AUDIOCAPTCHA_ENABLED | Включить аудиокаптчу |