Intégration CAPTCHA Symfony
Intégrez TrustCaptcha dans un contrôleur Symfony — ou, encore plus propre, dans une contrainte Validator personnalisée — avec quelques lignes de PHP. Stoppez le spam automatisé sur les connexions, inscriptions et formulaires de contact tout en conservant CSRF, Twig et le composant Form intacts. Hébergé dans l’UE, conforme RGPD et sans énigmes visuelles.
Démarrage rapide
Comment fonctionne l'intégration
1. Créer un CAPTCHA
Créez un compte utilisateur ou connectez-vous avec un compte existant. Ensuite, créez un nouveau CAPTCHA ou sélectionnez-en un existant. Si vous ne savez pas encore si TrustCaptcha vous convient, essayez notre service CAPTCHA sans risque pendant 14 jours gratuitement.
Sur la page d’aperçu du CAPTCHA, vous trouverez toutes les informations importantes, comme la clé de site et la clé de licence, et vous pouvez aussi y créer votre API key. Autorisez simplement vos sites web à utiliser votre CAPTCHA en les ajoutant à la liste des domaines autorisés dans les règles de sécurité du CAPTCHA.


2. Ajouter le widget CAPTCHA dans votre template Twig
Placez le widget TrustCaptcha dans le template Twig qui rend votre formulaire. Le widget s’exécute en arrière-plan et ajoute un champ caché tc-verification-token lors de l’envoi, qui arrive sur $request->request comme tout autre input.
<script type="module" src="https://cdn.trustcomponent.com/trustcaptcha/3.0.x/trustcaptcha.esm.min.js"></script>
<form method="post" action="{{ path('contact_submit') }}">
<input type="hidden" name="_token" value="{{ csrf_token('contact') }}">
<input type="email" name="email" required>
<trustcaptcha-component sitekey="<your_site_key>"></trustcaptcha-component>
<button type="submit">Send</button>
</form>Le widget CAPTCHA s’affichera ensuite dans votre formulaire :

Besoin d’informations détaillées sur l’intégration du widget CAPTCHA ?
Pour la référence complète du widget — y compris thèmes, langues, design personnalisé et plus encore — veuillez consulter notre documentation.
Lire la documentation
3. Valider le jeton dans votre contrôleur Symfony
Dans votre contrôleur Symfony, récupérez le jeton de vérification depuis la requête, consultez le résultat via notre bibliothèque PHP et décidez si la requête doit être acceptée.
Commencez par installer notre bibliothèque PHP TrustCaptcha :
composer require trustcomponent/trustcaptcha-php:^3.0Validez ensuite le jeton dans votre contrôleur et agissez en fonction du résultat :
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use TrustComponent\TrustCaptcha\TrustCaptcha;
class ContactController extends AbstractController
{
#[Route('/contact', name: 'contact_submit', methods: ['POST'])]
public function submit(Request $request): Response
{
$token = $request->request->get('tc-verification-token', '');
try {
$trustCaptcha = new TrustCaptcha('<your_api_key>');
$result = $trustCaptcha->getVerificationResult($token);
} catch (\Throwable $e) {
return $this->render('contact/index.html.twig', ['error' => 'CAPTCHA verification failed.']);
}
if (!$result->verificationPassed || $result->score > 0.5) {
return $this->render('contact/index.html.twig', ['error' => 'CAPTCHA verification failed.']);
}
// CAPTCHA validé — traiter la requête
return $this->redirectToRoute('contact_success');
}
}Besoin d’informations détaillées sur l’intégration CAPTCHA Symfony ?
Pour des instructions détaillées étape par étape — y compris une contrainte Validator personnalisée réutilisable pour les projets avec plusieurs endpoints protégés — veuillez consulter notre documentation.
Lire la documentation
Un autre framework backend que Symfony ?
Si vous utilisez un autre framework, choisissez la recette correspondante ici. Si votre framework n’est pas listé, vos développeurs peuvent intégrer la vérification eux-mêmes à l’aide de notre documentation ou contacter notre équipe support pour demander une intégration préconstruite.
4. Félicitations 🎉
Vous êtes maintenant protégé par TrustCaptcha — félicitations !

FAQs
Où dans une application Symfony a lieu la vérification CAPTCHA ?
Puis-je brancher la vérification CAPTCHA dans le Validator de Symfony ?
Le composant Form de Symfony lie-t-il automatiquement le jeton caché du widget ?
TrustCaptcha remplace-t-il la protection CSRF de Symfony ?
Où dois-je stocker la clé d’API CAPTCHA ?
TrustCaptcha bloque le spam et les bots, pas vos clients. Sans puzzle, conforme au RGPD, hébergé en UE.


Protégez votre application Symfony avec TrustCaptcha en quelques étapes !
- Hébergé en UE & conforme RGPD
- Aucun puzzle
- Essai gratuit de 14 jours