Перейти к содержанию

captcha: Модуль Captcha для NGINX

Установка на Debian/Ubuntu

Эти документы относятся к APT-пакету nginx-module-captcha, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT-репозиторий, как описано в настройке APT-репозитория.
  2. Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-captcha
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия            | Компонент   | Архитектуры    |
|-------------|-------------------|-------------|-----------------|
| debian      | bookworm          | main        | amd64, arm64    |
| debian      | bookworm-mainline | main        | amd64, arm64    |
| debian      | trixie            | main        | amd64, arm64    |
| debian      | trixie-mainline   | main        | amd64, arm64    |
| ubuntu      | focal             | main        | amd64, arm64    |
| ubuntu      | focal-mainline    | main        | amd64, arm64    |
| ubuntu      | jammy             | main        | amd64, arm64    |
| ubuntu      | jammy-mainline    | main        | amd64, arm64    |
| ubuntu      | noble             | main        | amd64, arm64    |
| ubuntu      | noble-mainline    | main        | amd64, arm64    |

Модуль:

Пример конфигурации:

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;
По умолчанию: ——
Контекст: location

Включает генерацию изображения капчи.


Синтаксис:   captcha_case on | off;
По умолчанию: off
Контекст: http, server, location

Включает/выключает игнорирование регистра капчи.


Синтаксис:   captcha_expire seconds;
По умолчанию: 3600
Контекст: http, server, location

Устанавливает количество секунд до истечения капчи.


Синтаксис:   captcha_height pixels;
По умолчанию: 30
Контекст: http, server, location

Устанавливает высоту изображения капчи.


Синтаксис:   captcha_length characters;
По умолчанию: 4
Контекст: http, server, location

Устанавливает длину текста капчи.


Синтаксис:   captcha_size pixels;
По умолчанию: 20
Контекст: http, server, location

Устанавливает размер шрифта капчи.


Синтаксис:   captcha_width pixels;
По умолчанию: 130
Контекст: http, server, location

Устанавливает ширину изображения капчи.


Синтаксис:   captcha_charset string;
По умолчанию: abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789
Контекст: http, server, location

Устанавливает символы, используемые в тексте капчи.


Синтаксис:   captcha_csrf string;
По умолчанию: csrf
Контекст: http, server, location

Устанавливает имя переменной csrf для капчи.


Синтаксис:   captcha_font string;
По умолчанию: /usr/share/fonts/ttf-liberation/LiberationSans-Regular.ttf
Контекст: http, server, location

Устанавливает шрифт текста капчи.


Синтаксис:   captcha_name string;
По умолчанию: Captcha
Контекст: http, server, location

Устанавливает имя куки капчи.


Синтаксис:   captcha_secret string;
По умолчанию: secret
Контекст: http, server, location

Устанавливает секрет капчи.