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.