Instale a integração hCaptcha
Instale o hCaptcha pelo Azion Marketplace e execute o desafio dele em um firewall, para que apenas requisições que passam por ele cheguem à sua origem.
Você instala a integração hCaptcha pelo Azion Marketplace e a executa em um Firewall, pelo Azion Console. O hCaptcha é um serviço CAPTCHA: ele mostra um desafio difícil de resolver para bots, web crawlers e outras ferramentas automatizadas, e a integração deixa uma requisição chegar à sua origem apenas depois que o desafio é resolvido.
Cinco objetos precisam existir antes de uma requisição receber o desafio: a função instalada, um firewall com o módulo Functions, uma instância de função que guarda os argumentos, uma regra do Rules Engine com o behavior Run Function e um deployment de workload vinculado ao firewall. Cada seção abaixo cria um deles.
Pré-requisitos
- Uma conta Azion. Para entrar, consulte Como acessar o Azion Console.
- Uma aplicação servida por um workload, cujo deployment você vincula ao firewall na última seção.
- Uma conta no hCaptcha, com uma site key e uma secret key. As próximas seções mostram como obtê-las.
- O Azion CLI instalado e autorizado, para a última seção.
- Ligar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte Preços.
Instale a integração
A função é instalada uma vez por conta. Para instalá-la:
Acesse Azion Console > Marketplace.
Informe hCaptcha no campo Search on Marketplace e selecione o card da integração. Navegar pelos cards e pelas categorias alcança a mesma página.
O card mostra Successfully installed! e Latest version installed!, e a função aparece na lista Function do drawer Create Instance.
Obtenha as chaves do hCaptcha
A integração precisa de duas chaves do hCaptcha: sua secret key e sua site key. Você obtém as duas no site do hCaptcha. Para registrar seu site:
Acesse o painel do hCaptcha. Se você não tem uma conta, crie uma.
Quando você cria a conta, o site fornece sua secret key. Você usa essa chave para configurar a integração, então guarde-a em um lugar seguro.
O nome é opcional, mas recomendado.
Informe os hostnames que mostram o desafio e selecione Add Domain.
Selecione um de três modos:
- Always Challenge: gratuito. Toda requisição carrega um desafio.
- Passive: pago. Nenhum desafio aparece, e o CAPTCHA é acionado pelo comportamento do usuário.
- 99.9% Passive: pago. O desafio aparece apenas para usuários com alto risco de serem bots.
Selecione o nível de dificuldade: auto, easy, moderate ou difficult. O nível define o quanto as respostas de um usuário precisam ser precisas para passar no teste.
Seu site está configurado para usar o hCaptcha. Para copiar a site key:
No menu do painel, selecione Sites.
Encontre o site que você configurou. A primeira coluna mostra uma string como efdb42c7-10ee-4969-8013-cfcb5f7ad007. Essa string é sua site key.
Passe o cursor sobre a string e selecione-a para copiar sua site key.
Você tem a site key e a secret key que a instância de função recebe como argumentos.
Crie o firewall
O firewall é onde a função é instanciada e onde vive a regra que a executa. Para criar um:
Acesse Azion Console > Firewalls e crie um firewall.
Na seção General, informe um Name. Por exemplo: hcaptcha-firewall.
Na seção Modules, ligue o switch Functions.
O firewall mostra uma aba Functions Instances enquanto o módulo Functions permanecer ligado. Para usar um firewall existente, ligue o módulo Functions dele e salve-o. Para cada configuração deste formulário, consulte Defina as configurações principais de um firewall.
Crie a instância de função
A instância guarda suas chaves do hCaptcha e a origem que a função busca depois de um desafio resolvido. Para criá-la:
Em Firewalls, selecione seu firewall e depois selecione a aba Functions Instances.
Um firewall que não tem instância mostra a mesma ação como Function Instance. O drawer Create Instance abre.
Em Name, informe um nome. Por exemplo: hcaptcha.
Em Function, selecione a função hCaptcha. A lista contém apenas as funções que são executadas em um firewall.
Em Arguments, o editor vem preenchido com os argumentos padrão da integração em JSON. Informe suas chaves e seus valores, como a próxima seção descreve.
A instância aparece na aba Functions Instances.
Argumentos
A instância recebe as duas chaves e suas variáveis:
| Variável | Obrigatória | Descrição |
|---|---|---|
site_key | Sim | A site key que você obteve na página do hCaptcha |
secret_key | Sim | A secret key que você obteve na página do hCaptcha |
expiration_in_seconds | Sim | O tempo, em segundos, até o desafio expirar |
origin_address | Sim | Seu domínio, de onde a função busca o conteúdo depois que o usuário resolve o desafio |
origin_headers | Não | Os cabeçalhos de requisição que a origem exige, quando o acesso a ela precisa de cabeçalhos específicos |
captcha_args | Não | Os argumentos que mudam o layout da caixa de desafio |
custom_message | Não | Uma mensagem personalizada para mostrar aos usuários |
custom_html | Não | O HTML personalizado que renderiza a caixa de desafio |
cookie_secret | Sim | A chave que assina o cookie que a função gera, para que a função não seja executada de novo para o mesmo usuário |
Crie a regra
A instância não desafia nada até que uma regra a execute. Uma regra do Rules Engine para Firewall seleciona as requisições que chegam à instância, por meio de um behavior Run Function. Para criar a regra:
Em Firewalls, selecione seu firewall e depois selecione a aba Rules Engine.
Em Name, informe um nome. Por exemplo: Run hCaptcha.
Na seção Criteria, selecione o domínio que executa a integração. Por exemplo: if Hostname is equal xxxxxxxxxxxx.map.azionedge.net.
Na seção Behaviors, selecione Run Function e depois selecione a instância pelo nome que você deu a ela.
O firewall executa a instância em toda requisição ao domínio do critério.
Vincule o firewall ao workload
O vínculo fica no deployment do workload, então crie um deployment que nomeie a aplicação e o firewall:
O comando imprime o id do novo deployment:
As requisições ao domínio do workload chegam ao firewall, e a regra executa a instância do hCaptcha em cada uma delas.
Marca registrada
hCaptcha é uma marca registrada da Intuition Machines, Inc.
Assista a um vídeo sobre como instalar a integração hCaptcha® pelo Azion Marketplace no canal da Azion no YouTube.