Captcha Invisible
El Captcha Invisible es aquel en el que no se muestra ningún captcha visible para verificar al usuario, y aun así se crea un verifiedToken
como prueba de verificación.
Actualmente, MTCaptcha admite 2 tipos de Captcha Invisible:
(Ambos tipos solo pueden habilitarse mediante el Portal de Administración > Sitios de MTCaptcha)
-
Captcha Invisible de Baja Fricción
El usuario solo verá un captcha si el Motor de Riesgo de MTCaptcha evalúa que podría representar algún riesgo. La mayoría de los usuarios reales pueden continuar sin interactuar con ningún desafío captcha. En este escenario, el captcha puede o no ser visible para un usuario en particular.
Los análisis muestran que el Captcha Invisible de Baja Fricción incrementa la tasa de aprobación en el primer intento a más del 99.5% para humanos reales (estadísticas basadas en uso combinado de cuentas).
El Captcha Invisible de Baja Fricción puede habilitarse por sitio utilizando el Portal de Administración > Sitios.
-
Captcha Invisible con Lista Blanca de IPs
Los usuarios no verán ningún captcha visible si acceden desde una dirección IP que coincida con la lista blanca configurada para el sitio. En este escenario, todos los usuarios dentro de estas IPs en lista blanca nunca verán un captcha.
El Captcha Invisible con Lista Blanca de IPs puede habilitarse por sitio utilizando el Portal de Administración > Sitios.
Captcha Invisible y Animación de Carga del Widget
Asegúrate de desactivar la animación de carga del widget cuando se utilice captcha invisible.
Para desactivar la animación de carga utiliza el parámetro de configuración de JavaScript loadAnimation
:
var mtcaptchaConfig = {
...
"loadAnimation": "false"
};
Captcha Invisible y Callbacks de JavaScript
Consulta la Guía para Desarrolladores - Callbacks JS para ver la documentación completa de los callbacks admitidos.
La secuencia estándar de callbacks de un captcha visible normalmente es:
jsloaded > rendered > verified (secuencia estándar)
En situaciones donde el captcha es invisible, el callback rendered
se omitirá:
jsloaded > verified (secuencia invisible)
En condiciones donde el verifiedToken
inicial (invisible) expire, puede aparecer la siguiente secuencia:
jsloaded > verified > verifyexpired > verified (secuencia invisible con expiración)
jsloaded > verified > verifyexpired > rendered > verified (captcha invisible expirado que pasa a visible)
¿Cómo verificar si el Captcha actual es visible? (Lado del navegador, JavaScript)
El campo booleano state.isVisible del objeto state
indica si el captcha es actualmente visible o invisible.
El objeto state se puede encontrar en:
-
El argumento del callback
Consulta la Guía para Desarrolladores - Callbacks JS para más información sobre los callbacks y el objeto state.
-
La API de JavaScript mtcaptcha.getStatus()
Consulta la Guía para Desarrolladores - APIs de JavaScript para más información sobre las APIs.
¿Cómo verificar si un VerifiedToken es resultado de un Captcha Invisible? (Desde el lado del servidor)
Los campos tokeninfo.code y tokeninfo.codeDesc de la respuesta de la API CheckToken pueden proporcionar información sobre cómo se verificó el token.
Específicamente, tokeninfo.code
:
- 211 indica que fue verificado a través de Lista Blanca de IPs
- 212 indica que fue verificado a través de Baja Fricción
Consulta la Guía para Desarrolladores - Validar Token para más información sobre la API CheckToken y su respuesta.
¿Cómo forzar Captcha Visible cuando el Captcha Invisible está habilitado?
Se puede usar la misma sitekey
en diferentes flujos de trabajo y aprovechar el Captcha Invisible en un flujo (por ejemplo, inicio de sesión) y usar un captcha visible en otro (por ejemplo, registro).
Para garantizar que al usuario se le presente un captcha visible cuando el Captcha Invisible de Baja Fricción esté habilitado, utiliza el parámetro de configuración de JavaScript lowFrictionInvisible
.
var mtcaptchaConfig = {
...
"lowFrictionInvisible": "force-visible",
};
Captcha Invisible y Callbacks de JavaScript
Consulta la Guía para Desarrolladores - Callbacks JS para ver la documentación completa de los callbacks admitidos.
La secuencia estándar de callbacks de un captcha visible normalmente es:
jsloaded > rendered > verified (secuencia estándar)
En situaciones donde el captcha es invisible, el callback rendered
se omitirá:
jsloaded > verified (secuencia invisible)
En condiciones donde el verifiedToken
inicial (invisible) expire, puede aparecer la siguiente secuencia:
jsloaded > verified > verifyexpired > verified (secuencia invisible con expiración)
jsloaded > verified > verifyexpired > rendered > verified (captcha invisible expirado que pasa a visible)
¿Cómo verificar si el Captcha actual es visible? (Lado del navegador, JavaScript)
El campo booleano state.isVisible del objeto state
indica si el captcha es actualmente visible o invisible.
El objeto state se puede encontrar en:
-
El argumento del callback
Consulta la Guía para Desarrolladores - Callbacks JS para más información sobre los callbacks y el objeto state.
-
La API de JavaScript mtcaptcha.getStatus()
Consulta la Guía para Desarrolladores - APIs de JavaScript para más información sobre las APIs.
¿Cómo verificar si un VerifiedToken es resultado de un Captcha Invisible? (Desde el lado del servidor)
Los campos tokeninfo.code y tokeninfo.codeDesc de la respuesta de la API CheckToken pueden proporcionar información sobre cómo se verificó el token.
Específicamente, tokeninfo.code
:
- 211 indica que fue verificado a través de Lista Blanca de IPs
- 212 indica que fue verificado a través de Baja Fricción
Consulta la Guía para Desarrolladores - Validar Token para más información sobre la API CheckToken y su respuesta.
¿Cómo forzar Captcha Visible cuando el Captcha Invisible está habilitado?
Se puede usar la misma sitekey
en diferentes flujos de trabajo y aprovechar el Captcha Invisible en un flujo (por ejemplo, inicio de sesión) y usar un captcha visible en otro (por ejemplo, registro).
Para garantizar que al usuario se le presente un captcha visible cuando el Captcha Invisible de Baja Fricción esté habilitado, utiliza el parámetro de configuración de JavaScript lowFrictionInvisible
.
var mtcaptchaConfig = {
...
"lowFrictionInvisible": "force-visible",
};
¿Cómo forzar Captcha Visible o Invisible en Modo de Desarrollo?
Los desarrolladores pueden establecer explícitamente que el captcha sea invisible o visible durante el desarrollo utilizando los parámetros de configuración de JavaScript testmode_lowFrictionInvisible
y enableTestMode
.
La TestKey es parte del conjunto de claves del sitio y puede encontrarse junto a la PrivateKey en la Consola de Administración de MTCaptcha.
var mtcaptchaConfig = {
...
'enableTestMode': '<TestKey>';
"testmode_lowFrictionInvisible": "force-invisible",
// or 'force-visible'
};