Este documento ajuda você a entender os recursos do reCAPTCHA para o Google Cloud Armor e determinar qual deles melhor se adapta ao seu caso de uso.
O reCAPTCHA oferece os seguintes recursos que podem ser usados para integração com o Google Cloud Armor:
Visão geral dos recursos
As integrações do reCAPTCHA para o Google Cloud Armor oferecem suporte a tokens de ação, tokens de sessão e página de teste.
É possível usar um ou mais recursos do reCAPTCHA para o Google Cloud Armor em um único aplicativo. Por exemplo, é possível aplicar um token de sessão a todas as páginas e, com base na pontuação do token de sessão, redirecionar solicitações suspeitas para a página de teste do reCAPTCHA. Além disso, é possível usar um token de ação para ações importantes, como a finalização de compra. Para mais informações, consulte os exemplos.
A tabela a seguir mostra uma breve comparação dos recursos disponíveis do reCAPTCHA para o Google Cloud Armor:
| Categoria de comparação | Tokens de ação reCAPTCHA | Tokens de sessão reCAPTCHA | Página de teste reCAPTCHA |
|---|---|---|---|
| Caso de uso | Use para proteger ações do usuário, como login ou postagens de comentários. | Use para proteger toda a sessão do usuário no domínio do site. | Use quando você suspeitar que há atividades de spam direcionadas ao site e você
precisar filtrar bots.
Esse método interrompe a atividade do usuário porque ele precisa verificar um desafio de CAPTCHA. |
| Plataformas compatíveis | Sites e aplicativos para dispositivos móveis | Sites | Sites |
| Esforço de integração do cliente | Média
Integração manual do lado do cliente. |
Média
Instale o JavaScript reCAPTCHA manualmente ou por injeção no WAF. |
Baixa
Intersticial acionado por políticas de segurança. |
| Precisão da detecção | Maior
Sinais específicos do cliente, do servidor e da ação estão disponíveis. |
Alta
Sinais específicos do cliente e do servidor estão disponíveis. |
Média
Sinais específicos do cliente e do servidor estão disponíveis. Os sinais do cliente só estão disponíveis em uma página intersticial. |
| Versão compatível do reCAPTCHA | Chaves reCAPTCHA baseadas em pontuação e com caixa de seleção | Chaves reCAPTCHA baseadas em pontuação | Chaves reCAPTCHA baseadas em teste incorporadas em uma página intersticial |
Tokens de ação reCAPTCHA
É possível usar tokens de ação reCAPTCHA para proteger interações importantes do usuário, como a finalização da compra em páginas da Web e em aplicativos para dispositivos móveis.
O fluxo de trabalho de tokens de ação do reCAPTCHA consiste nas seguintes etapas:
- Quando um usuário final aciona uma ação protegida pelo reCAPTCHA, a página da Web ou o aplicativo para dispositivos móveis envia sinais coletados no navegador para o reCAPTCHA para análise.
- O reCAPTCHA envia um token de ação para a página da Web ou o aplicativo para dispositivos móveis.
- Anexe esse token de ação ao cabeçalho da solicitação que você quer proteger.
- Quando o usuário final solicita acesso com o token de ação, o Google Cloud Armor decodifica e valida os atributos do token de ação em vez do aplicativo de back-end.
- O Google Cloud Armor aplica ações com base nas regras de política de segurança configuradas.
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para sites:
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para aplicativos para dispositivos móveis:
Tokens de sessão reCAPTCHA
Use tokens de sessão reCAPTCHA quando quiser proteger toda a sessão do usuário no domínio do site. Um token de sessão permite reutilizar um token válido em solicitações por um período especificado, para que você não precise chamar execute() para cada ação do usuário, reduzindo o atrito do usuário e o número de chamadas para execute().
Para permitir que o reCAPTCHA aprenda sobre o padrão de navegação dos usuários finais, recomendamos usar um token de sessão reCAPTCHA em todas as páginas da Web do site.
O fluxo de trabalho de tokens de sessão reCAPTCHA consiste nas seguintes etapas:
- O navegador carrega o JavaScript reCAPTCHA do reCAPTCHA.
- O JavaScript do reCAPTCHA define um token de sessão como um cookie no navegador do usuário final após chamar
execute(). - O navegador do usuário final armazena o cookie, e o JavaScript reCAPTCHA o atualiza a cada 30 minutos, desde que o JavaScript do reCAPTCHA permaneça ativo.
- Quando o usuário solicita acesso com o cookie, o Google Cloud Armor valida esse cookie e aplica ações com base nas regras da política de segurança.
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de sessão reCAPTCHA:
Página de teste reCAPTCHA
Use o recurso página de teste do reCAPTCHA para redirecionar solicitações recebidas no reCAPTCHA e determinar se cada solicitação é potencialmente fraudulenta ou legítima.
Essa aplicação de um redirecionamento e um possível teste de CAPTCHA interrompem a atividade do usuário. Recomendamos usar isso para filtrar bots quando suspeitar de atividade de spam direcionada ao site.
Quando um usuário final (usuário) acessa o site pela primeira vez, acontece o seguinte:
- Na camada do Google Cloud Armor, a solicitação do usuário é redirecionada para a página de teste do reCAPTCHA.
- O reCAPTCHA responde com uma página HTML incorporada ao JavaScript reCAPTCHA.
- Quando a página de teste é renderizada, o reCAPTCHA avalia a interação do usuário. Se necessário, o reCAPTCHA veicula um teste de CAPTCHA para o usuário.
Dependendo do resultado da avaliação, o reCAPTCHA realizará as seguintes ações:
- Se a interação do usuário for aprovada na avaliação, o reCAPTCHA emitirá um cookie de isenção. O navegador anexa esse cookie de isenção às solicitações subsequentes do usuário no site até que o cookie expire. Por padrão, o cookie de isenção expira após três horas.
- Se a interação do usuário não for aprovada na avaliação, o reCAPTCHA não emitirá um cookie de isenção.
O reCAPTCHA atualiza a página da Web com o cookie de isenção se o usuário acessar a página da Web usando uma chamada GET/HEAD. Se o usuário acessar a página da Web usando uma chamada POST/PUT, o usuário precisará clicar no link de atualização da página.
O Google Cloud Armor isenta as solicitações que têm um cookie de isenção válido de ser redirecionado novamente e concede acesso ao site.
O seguinte diagrama de sequência mostra o fluxo de trabalho da página de teste reCAPTCHA:
A seguir
- Saiba mais sobre os atributos de token do Cloud Armor.
- Integre o reCAPTCHA ao Cloud Armor em sites.
- Integre o reCAPTCHA ao Cloud Armor em aplicativos para dispositivos móveis.