Este documento mostra exemplos de como implementar as funcionalidades do reCAPTCHA para WAF para o Cloud Armor.
Pode usar uma ou mais funcionalidades do reCAPTCHA para WAF numa única aplicação.
Se quiser usar mais do que uma funcionalidade, tem de criar uma chave do reCAPTCHA para cada uma dessas funcionalidades e usá-las na sua aplicação. Por exemplo, se quiser usar tokens de ação do reCAPTCHA e a página de desafio do reCAPTCHA, tem de criar uma chave de token de ação e uma chave de página de desafio, e usá-las na sua aplicação.Exemplo 1: usar tokens de sessão do reCAPTCHA e a página de desafio do reCAPTCHA
Pode adicionar um token de sessão do reCAPTCHA em páginas às quais um utilizador pode aceder para que o cookie seja atualizado periodicamente, por exemplo, uma página de início de sessão. Configure uma regra de política de segurança do Cloud Armor para redirecionar o pedido para uma página de desafio do reCAPTCHA quando a pontuação for baixa.
A ilustração seguinte mostra um fluxo de trabalho que usa o token de sessão do reCAPTCHA e as funcionalidades da página de desafio do reCAPTCHA:
Exemplo 2: usar tokens de ação do reCAPTCHA e a página de desafio do reCAPTCHA
Pode adicionar um token de ação do reCAPTCHA para proteger uma ação do utilizador, como o pagamento. Configure uma regra da política de segurança do Cloud Armor para redirecionar o pedido 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 do utilizador protegida.
A ilustração seguinte mostra um fluxo de trabalho que usa o token de ação do reCAPTCHA e as funcionalidades da página de desafio do reCAPTCHA:
O seguinte script de exemplo mostra como usar um token de ação do reCAPTCHA e redirecionar para uma página de desafio do 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 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>
O que se segue?
- Saiba como implementar funcionalidades do reCAPTCHA WAF com o Cloud Armor.
- Saiba mais sobre as funcionalidades de integração com fornecedores de serviços de WAF.