captcha: Модуль Captcha для NGINX
Установка
Поддерживаются CentOS/RHEL/RockyLinux/etc. и Amazon Linux, которые требуют подписки.
Fedora Linux поддерживается бесплатно и не требует подписки.
Полные руководства по установке и настройке для конкретных ОС:
Другие поддерживаемые операционные системы
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-captcha
Включите модуль, добавив следующее в верхнюю часть файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_captcha_module.so;
Этот документ описывает nginx-module-captcha v0.0.1, выпущенный 14 апреля 2023 года.
Пример конфигурации:
location =/captcha {
captcha;
}
location =/login {
set_form_input $csrf_form csrf;
set_unescape_uri $csrf_unescape $csrf_form;
set_form_input $captcha_form captcha;
set_unescape_uri $captcha_unescape $captcha_form;
set_md5 $captcha_md5 "secret${captcha_unescape}${csrf_unescape}";
if ($captcha_md5 != $cookie_captcha) {
# недействительный код captcha
}
}
Директивы:
Синтаксис: captcha;
По умолчанию: ——
Контекст: location
Включает генерацию изображения captcha.
Синтаксис: captcha_case on | off;
По умолчанию: off
Контекст: http, server, location
Включает/выключает игнорирование регистра captcha.
Синтаксис: captcha_expire seconds;
По умолчанию: 3600
Контекст: http, server, location
Устанавливает количество секунд до истечения срока действия captcha.
Синтаксис: captcha_height pixels;
По умолчанию: 30
Контекст: http, server, location
Устанавливает высоту изображения captcha.
Синтаксис: captcha_length characters;
По умолчанию: 4
Контекст: http, server, location
Устанавливает длину текста captcha.
Синтаксис: captcha_size pixels;
По умолчанию: 20
Контекст: http, server, location
Устанавливает размер шрифта captcha.
Синтаксис: captcha_width pixels;
По умолчанию: 130
Контекст: http, server, location
Устанавливает ширину изображения captcha.
Синтаксис: captcha_charset string;
По умолчанию: abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789
Контекст: http, server, location
Устанавливает символы, используемые в тексте captcha.
Синтаксис: captcha_csrf string;
По умолчанию: csrf
Контекст: http, server, location
Устанавливает имя переменной csrf для captcha.
Синтаксис: captcha_font string;
По умолчанию: /usr/share/fonts/ttf-liberation/LiberationSans-Regular.ttf
Контекст: http, server, location
Устанавливает шрифт текста captcha.
Синтаксис: captcha_name string;
По умолчанию: Captcha
Контекст: http, server, location
Устанавливает имя cookie для captcha.
Синтаксис: captcha_secret string;
По умолчанию: secret
Контекст: http, server, location
Устанавливает секрет для captcha.
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-captcha.