Integraciones / Symfony

Bundle CAPTCHA para Symfony

captchacore/captchacore-bundle para Symfony 6.4 LTS y 7.x: FormType, constraint del validador, atributo de controlador y función Twig. Usted elige lo que encaja en su proyecto.

Symfony 6.4 LTS & 7.x PHP 8.2+ Symfony Flex

En tres pasos

Proteja Symfony en pocos minutos

01

Instalar el bundle

composer require: Symfony Flex registra el bundle y crea el archivo de configuración.

02

Claves en el .env

CAPTCHACORE_URL, clave del sitio y secreto como variables de entorno.

03

Elegir la vía de integración

FormType para formularios Symfony, constraint para DTOs, atributo para controladores, función Twig para lo demás.

composer require captchacore/captchacore-bundle

# .env
CAPTCHACORE_SITE_KEY=cc_pub_…
CAPTCHACORE_SECRET_KEY=cc_sec_…

// FormType
$builder->add('captcha', CaptchaCoreType::class, [
    'form_type' => 'contact',
]);

// oder als Attribut am Controller
#[RequiresCaptcha(formType: 'register')]
public function register(Request $request): Response

Qué incluye

Hecho para Symfony, no solo compatible

FormType

Un campo en el form builder renderiza widget y token; la verificación ocurre en handleRequest().

Constraint del validador

Para DTOs y payloads de API: #[CaptchaCoreToken] en la propiedad, comprobado como cualquier otra constraint.

Atributo de controlador

#[RequiresCaptcha] verifica el token antes de ejecutar la acción, sin código en el método.

Función Twig

captchacore_widget() para formularios hechos a mano fuera del componente Form.

Distintivo de seguridad

Aviso opcional «protegido por CaptchaCore» con enlace a la política de privacidad.

Tests sin red

El cliente es un servicio: sustitúyalo por un fake en los tests y listo.

Sin acertijos de imágenes

Prueba de trabajo y análisis de comportamiento en lugar de semáforos y pasos de cebra: las personas hacen clic una vez, los bots se quedan calculando.

Servidores en Alemania

Procesamiento en servidores propios, sin transferencias a terceros países, sin rastreo entre sitios.

16 KB, sin framework

El widget carga rápido, nunca bloquea la interfaz y se maneja con teclado y lector de pantalla.

Preguntas frecuentes sobre Symfony

¿Necesito Symfony Flex?

No, pero ahorra registrar el bundle a mano y escribir el archivo de configuración.

¿Funciona con API Platform?

Sí, mediante la constraint del validador en sus DTOs de entrada.

¿Qué versión de PHP?

PHP 8.2 o superior, acorde con Symfony 6.4 LTS y 7.x.

Todos los detalles, opciones y ejemplos de código: Documentación →

Más integraciones