El CAPTCHA es un mecanismo que permite distinguir el tráfico legítimo generado por personas del tráfico automatizado generado por bots, bloqueando este último antes de que llegue a tu sitio web.
Las siglas CAPTCHA responden a Completely Automated Public Turing test to tell Computers and Humans Apart, y se basan en pequeños desafíos o pruebas que resultan sencillas para un humano pero difíciles de superar para un programa automatizado.
Para invocar esta función, es necesario utilizar el header TCDN-Command con el valor show-captcha. La sintaxis completa es la siguiente: show-captcha[:<ttl>].
Cuando un usuario supera el desafío CAPTCHA, su navegador recibe una cookie llamada TCDN-Captcha-UID. Esta cookie identifica de forma única la sesión del usuario y evita que tenga que resolver el CAPTCHA en cada visita. Por defecto, su tiempo de vida es de una hora, tras la cual el usuario deberá superar el reto de nuevo. El parámetro opcional <ttl> permite personalizar esta duración según tus necesidades.
Si quisieras proteger el dominio mi-dominio.es frente a bots sin afectar la experiencia de tus usuarios legítimos, podrías configurar un CAPTCHA con un TTL de 8 horas. Esto significa que, una vez superado el desafío, el usuario podrá navegar con normalidad durante ese periodo sin volver a ser interrumpido.
La configuración VCL a desplegar desde el dashboard sería la siguiente:
# show-captcha
sub vcl_recv {
if (req.http.host == "www.mi-dominio.es") {
set req.http.TCDN-Command = "show-captcha:28800s";
}
}
Con esta configuración, el flujo sería el siguiente:
TCDN-Captcha-UID y puede continuar navegando con normalidad durante las siguientes ocho horas.403 (Robots are not allowed here!).Este es solo un ejemplo básico de uno de los casos de uso más comunes.