Intégrations / Symfony
captchacore/captchacore-bundle pour Symfony 6.4 LTS et 7.x — FormType, contrainte de validation, attribut de contrôleur et fonction Twig. Vous choisissez ce qui convient à votre projet.
En trois étapes
composer require — Symfony Flex enregistre le bundle et crée le fichier de configuration.
CAPTCHACORE_URL, clé du site et secret en variables d’environnement.
FormType pour les formulaires Symfony, contrainte pour les DTO, attribut pour les contrôleurs, fonction Twig pour le reste.
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): ResponseCe que vous obtenez
Un champ dans le form builder affiche widget et jeton ; la vérification se fait dans handleRequest().
Pour les DTO et charges utiles d’API : #[CaptchaCoreToken] sur la propriété, vérifié comme toute autre contrainte.
#[RequiresCaptcha] vérifie le jeton avant l’exécution de l’action — sans code dans la méthode.
captchacore_widget() pour les formulaires faits main hors du composant Form.
Mention facultative « protégé par CaptchaCore » avec lien vers la politique de confidentialité.
Le client est un service — remplacez-le par un faux dans les tests, c’est tout.
Preuve de travail et analyse comportementale au lieu de feux rouges et de passages piétons — les humains cliquent une fois, les bots s’épuisent à calculer.
Traitement sur nos propres serveurs, aucun transfert vers des pays tiers, aucun suivi entre les sites.
Le widget se charge vite, ne bloque jamais l’interface et se pilote au clavier et au lecteur d’écran.
Non, mais cela évite d’enregistrer le bundle à la main et d’écrire le fichier de configuration.
Oui, via la contrainte de validation sur vos DTO d’entrée.
PHP 8.2 ou plus récent, en accord avec Symfony 6.4 LTS et 7.x.
Tous les détails, options et exemples de code : Documentation →
Autres intégrations