Skip to content

WHMCS

Módulo addon oficial de CaptchaLa para WHMCS. Añade verificación CAPTCHA al área de cliente de WHMCS — inicio de sesión, registro, recuperación de contraseña, formulario de contacto, envío de tickets y checkout del carrito — sin escribir nada de código.

A diferencia de un simple widget con site-key, cada desafío está respaldado por un token de un solo uso emitido por el servidor (anti-replay), y no se carga ningún rastreador de terceros.

Qué cubre

Cada superficie de abajo es un interruptor individual en los ajustes del módulo — activa solo las que quieras proteger.

  • Inicio de sesión
  • Registro
  • Recuperación de contraseña
  • Formulario de contacto
  • Envío de tickets
  • Checkout del carrito

Requisitos

  • WHMCS 8.x y 9.x (probado contra el área de cliente 8.3 y 9.0; funciona con los temas six y twenty-one, con o sin Friendly URLs)
  • PHP 8.0+ (WHMCS 9.0 en sí requiere PHP 8.2+)
  • Una cuenta de CaptchaLa — obtén tu App Key + App Secret en dash.captcha.la

Instalación

1. Instalar el módulo

  1. Descarga el último whmcs-x.y.z.zip desde las releases.
  2. Descomprímelo en tu directorio raíz de WHMCS. Esto añade modules/addons/captchala/.
  3. En la administración de WHMCS, ve a Setup → Addon Modules, busca CaptchaLa y haz clic en Activate.

2. Configurar

Haz clic en Configure y luego:

  1. Pega tu App Key y tu App Secret.
  2. Elige un Widget mode y un Theme.
  3. Activa los formularios que quieras proteger.
  4. Haz clic en Save Changes.

Abre la página CaptchaLa en el menú lateral de la administración para ejecutar una prueba de conexión en vivo contra el panel.

TIP

Tras activarlo, si el widget no aparece, vuelve a guardar los ajustes del módulo una vez — WHMCS solo registra el hooks.php de un módulo cuando este se (re)activa/guarda.

Configuración

Todos los ajustes están en Setup → Addon Modules → CaptchaLa → Configure.

AjusteTipoPor defectoDescripción
App KeystringClave pública del panel de CaptchaLa. Obligatoria.
App SecretstringSecreto del servidor, usado para emitir y validar tokens. Obligatorio; nunca expuesto al navegador.
Widget modeenumpopuppopup (barra disparadora → desafío a pantalla completa), float (panel inline), embed (casilla inline), bind (invisible, intercepta el envío).
ThemeenumdefaultPreset de color: default, dark, slate, emerald, amber, rose.
LanguagestringautoCódigo BCP-47 (p. ej. en, zh, de) o auto para seguir al navegador.
Protect loginboolonAplica el desafío al inicio de sesión del área de cliente.
Protect registrationboolonAplica el desafío al registro de cuentas nuevas.
Protect password resetboolonAplica el desafío al formulario de recuperación de contraseña.
Protect contact formbooloffAplica el desafío al formulario de contacto.
Protect ticket submissionbooloffAplica el desafío al paso final de envío de tickets.
Protect cart checkoutbooloffAplica el desafío al checkout del carrito.
Skip for logged-in usersboolonNo aplica el desafío a visitantes que ya tienen una sesión de cliente.
Failure messagestringMensaje mostrado cuando la verificación falla.

Cómo funciona

En cada página de formulario protegido, el módulo emite un nuevo token de servidor (sct_) desde el panel, acotado a la acción de ese formulario, y renderiza el widget vinculado a él. Después de que el visitante resuelve el desafío, el SDK escribe un token de paso de un solo uso (pt_) en el formulario. Al enviar, el módulo valida ese pt_ del lado del servidor antes de que WHMCS procese el formulario; los replays y los desajustes de acción se rechazan.

Si el panel está temporalmente inaccesible, el módulo falla en abierto (deja pasar el envío) para que tu área de cliente nunca quede bloqueada por un fallo puntual aguas arriba.

Preguntas frecuentes

¿Es gratuito el módulo?

Sí. El módulo es gratuito. El plan gratuito de CaptchaLa cubre 10.000 verificaciones al mes — los planes de pago solo aplican si necesitas más volumen.

¿Funciona tanto en WHMCS 8 como en 9?

Sí — probado en el área de cliente 8.3 y 9.0, con los temas six y twenty-one, con o sin Friendly URLs.

El widget no aparece.

Vuelve a guardar los ajustes del módulo una vez (Configure → Save Changes). WHMCS solo registra hooks.php cuando el módulo se (re)activa/guarda.

Fuente

MIT-licensed examples · CaptchaLa is operated independently