Comportamento de ações CAPTCHA e Challenge - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Comportamento de ações CAPTCHA e Challenge

Quando uma solicitação da web corresponde aos critérios de inspeção de uma regra CAPTCHA ou Challenge ação, AWS WAF determina como lidar com a solicitação de acordo com o estado do token e a configuração do tempo de imunidade. AWS WAF também considera se a solicitação pode lidar com o quebra-cabeça CAPTCHA ou com os intersticiais do script de desafio. Os scripts foram projetados para serem tratados como conteúdo HTML e só podem ser tratados adequadamente por um cliente que espera conteúdo HTML.

nota

São cobradas taxas adicionais quando você usa a ação de regra CAPTCHA ou Challenge em uma de suas regras ou como uma substituição de ação de regra em um grupo de regras. Para obter mais informações, consulte Preços do AWS WAF.

Como a ação lida com a solicitação da web

AWS WAF aplica a Challenge ação CAPTCHA ou a uma solicitação da web da seguinte forma:

  • Token válido — AWS WAF trata isso de forma semelhante a uma Count ação. AWS WAF aplica todos os rótulos e personalizações de solicitação que você configurou para a ação da regra e, em seguida, continua avaliando a solicitação usando as regras restantes na Web ACL.

  • Token ausente, inválido ou expirado — AWS WAF interrompe a avaliação da web ACL da solicitação e impede que ela vá para o destino pretendido.

    AWS WAF gera uma resposta que é enviada de volta ao cliente, de acordo com o tipo de ação da regra:

    • Challenge: AWS WAF inclui o seguinte na resposta:

      • O cabeçalho x-amzn-waf-action com um valor de challenge.

        nota

        Esse cabeçalho não está disponível para JavaScript aplicativos executados no navegador do cliente. Para obter detalhes, consulte a seção a seguir.

      • Código de status do HTTP 202 Request Accepted.

      • Se a solicitação contiver um Accept cabeçalho com um valor detext/html, a resposta incluirá um intersticial de JavaScript página com um script de desafio.

    • CAPTCHA— AWS WAF inclui o seguinte na resposta:

      • O cabeçalho x-amzn-waf-action com um valor de captcha.

        nota

        Esse cabeçalho não está disponível para JavaScript aplicativos executados no navegador do cliente. Para obter detalhes, consulte a seção a seguir.

      • Código de status do HTTP 405 Method Not Allowed.

      • Se a solicitação contiver um Accept cabeçalho com um valor detext/html, a resposta incluirá um intersticial de JavaScript página com um script CAPTCHA.

Para configurar o tempo de expiração do token no nível da web ACL ou da regra, consulte Expiração do timestamp: tempos de imunidade AWS WAF do token.

Os cabeçalhos não estão disponíveis para JavaScript aplicativos executados no navegador do cliente

Quando AWS WAF responde a uma solicitação do cliente com um CAPTCHA ou uma resposta de desafio, ela não inclui cabeçalhos de compartilhamento de recursos de origem cruzada (CORS). Os cabeçalhos CORS são um conjunto de cabeçalhos de controle de acesso que informam ao navegador da Web do cliente quais domínios, métodos HTTP e cabeçalhos HTTP podem ser usados pelos aplicativos. JavaScript Sem os cabeçalhos CORS, os JavaScript aplicativos executados em um navegador cliente não têm acesso aos cabeçalhos HTTP e, portanto, não conseguem ler o x-amzn-waf-action cabeçalho fornecido nas respostas e. CAPTCHA Challenge

O que o desafio e as intersticiais CAPTCHA fazem

Quando uma intersticial de desafio é executada, depois que o cliente responde com sucesso, se ele ainda não tiver um token, a intersticial inicializa um para ele. Em seguida, ela atualiza o token com o timestamp de resolução do desafio.

Quando uma intersticial CAPTCHA é executada, se o cliente ainda não tiver um token, a intersticial CAPTCHA invoca primeiro o script de desafio para desafiar o navegador e inicializar o token. Em seguida, a intersticial executa seu quebra-cabeça CAPTCHA. Quando o usuário final conclui o quebra-cabeça com sucesso, a intersticial atualiza o token com o timestamp de resolução do CAPTCHA.

Em ambos os casos, depois que o cliente responde com sucesso e o script atualiza o token, o script reenvia a solicitação web original usando o token atualizado.

Você pode configurar como AWS WAF manipula os tokens. Para mais informações, consulte AWS WAF tokens de solicitação da web.