Este documento mostra exemplos de como implementar os recursos do reCAPTCHA Enterprise para WAF no Google Cloud Armor.
É possível usar um ou mais recursos do reCAPTCHA Enterprise para WAF em um único aplicativo.
Se você quiser usar mais de um recurso, crie uma chave reCAPTCHA para cada um desses recursos e use-os no aplicativo. Por exemplo, se você quiser usar tokens de ação e uma página de desafio do reCAPTCHA, crie uma chave de token de ação e uma chave de página de desafio e use-as no aplicativo.Exemplo 1: como usar tokens de sessão reCAPTCHA e a página de teste do reCAPTCHA
É possível adicionar um token de sessão reCAPTCHA nas páginas que um usuário pode acessar para que o cookie seja atualizado periodicamente, por exemplo, uma página de login. Configure uma regra de política de segurança do Google Cloud Armor para redirecionar a solicitação para uma página de desafio reCAPTCHA quando a pontuação estiver baixa.
A ilustração a seguir mostra um fluxo de trabalho que usa recursos da página de teste e um token de sessão reCAPTCHA
Exemplo 2: como usar tokens de ação reCAPTCHA e a página de teste do reCAPTCHA
É possível adicionar um token de ação reCAPTCHA para proteger uma ação do usuário, como finalizar uma compra. Configure uma regra de política de segurança do Google Cloud Armor para redirecionar a solicitação para uma página de desafio do reCAPTCHA em qualquer uma das seguintes condições:
- A pontuação é baixa.
- O atributo
action_name
do token de ação não corresponde à ação protegida do usuário.
A ilustração a seguir mostra um fluxo de trabalho que usa recursos da página de teste e um token de ação reCAPTCHA:
O exemplo de script a seguir mostra como usar um token de ação reCAPTCHA e redirecionar para uma página de desafio reCAPTCHA com o token de ação anexado como cabeçalho:
<script src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_SITE_KEY"></script>
<script>
function onSuccess(token) {
const xhr = new XMLHttpRequest();
xhr.open('GET','http://www.example.com/checkout', false);
xhr.setRequestHeader("X-Recaptcha-Token", token);
xhr.onreadystatechange = function() {
// Make sure that the request is finished and response is ready with 200
if (this.readyState == 4 && this.status == 200) {
// Display the response, it could be a reCAPTCHA challenge
// page based on your Google Cloud Armor security rule settings.
document.open();
document.write(xhr.responseText);
document.close();
}
};
xhr.send(null);
}
grecaptcha.enterprise.ready(function () {
document.getElementById("execute-button").onclick = () => {
grecaptcha.enterprise.execute('ACTION_TOKEN_SITE_KEY', {
}).then(onSuccess, onError);
};
});
</script>
A seguir
- Saiba como implementar recursos do reCAPTCHA WAF com o Google Cloud Armor.
- Saiba mais sobre recursos para integração com provedores de serviços WAF.