Pular para conteúdo

captcha: Módulo Captcha do NGINX

Instalação

CentOS/RHEL/RockyLinux/etc. e Amazon Linux são suportados e requerem uma assinatura.

Fedora Linux é suportado gratuitamente e não requer uma assinatura.

Guias completos de instalação e configuração específicos para o SO disponíveis:

Outros sistemas operacionais suportados

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-captcha

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_captcha_module.so;

Este documento descreve o nginx-module-captcha v0.0.1 lançado em 14 de abril de 2023.


Exemplo de Configuração:

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) {
        # código de captcha inválido
    }
}

Diretivas:

Sintaxe:     captcha;
Padrão: ——
Contexto: location

Habilita a geração da imagem captcha.


Sintaxe:     captcha_case on | off;
Padrão: off
Contexto: http, server, location

Habilita/desabilita a ignorância do caso do captcha.


Sintaxe:     captcha_expire seconds;
Padrão: 3600
Contexto: http, server, location

Define os segundos antes de expirar o captcha.


Sintaxe:     captcha_height pixels;
Padrão: 30
Contexto: http, server, location

Define a altura da imagem captcha.


Sintaxe:     captcha_length characters;
Padrão: 4
Contexto: http, server, location

Define o comprimento do texto do captcha.


Sintaxe:     captcha_size pixels;
Padrão: 20
Contexto: http, server, location

Define o tamanho da fonte do captcha.


Sintaxe:     captcha_width pixels;
Padrão: 130
Contexto: http, server, location

Define a largura da imagem captcha.


Sintaxe:     captcha_charset string;
Padrão: abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789
Contexto: http, server, location

Define os caracteres usados no texto do captcha.


Sintaxe:     captcha_csrf string;
Padrão: csrf
Contexto: http, server, location

Define o nome da variável csrf do captcha.


Sintaxe:     captcha_font string;
Padrão: /usr/share/fonts/ttf-liberation/LiberationSans-Regular.ttf
Contexto: http, server, location

Define a fonte do texto do captcha.


Sintaxe:     captcha_name string;
Padrão: Captcha
Contexto: http, server, location

Define o nome do cookie do captcha.


Sintaxe:     captcha_secret string;
Padrão: secret
Contexto: http, server, location

Define o segredo do captcha.

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-captcha.