CAPTCHA optionnel (CaptchaService) : un bouclier anti-bot exactement là où vous en avez besoin
CAPTCHA optionnel (CaptchaService) une fonctionnalité du module Commentaires, contact, formulaires & newsletter de Clustraly. CAPTCHA optionnel (CaptchaService) est un service de vérification anti-bot piloté par configuration, activable par formulaire, supportant Cloudflare Turnstile ou hCaptcha, inerte par défaut.
Un défi de vérification que vous activez formulaire par formulaire. Il reste silencieux tant que vous ne l'avez pas configuré, et devient infranchissable même quand le fournisseur tombe. L'IA propose la défense, vous décidez où l'appliquer.
Un défi anti-bot que vous n'activez que là où il compte
Vos surfaces publiques attirent les robots. Le CAPTCHA optionnel ajoute une vérification sur les formulaires que vous choisissez, sans alourdir ceux qui n'en ont pas besoin.
Vous gardez la main : commentaire, message de contact ou formulaire, la décision se prend surface par surface.
- Activation indépendante pour commentaires, contact et formulaires
- Aucun défi imposé là où honeypot et time-trap suffisent
- Compatible Cloudflare Turnstile ou hCaptcha
Deux fournisseurs reconnus, branchés depuis vos variables d'environnement
Tout est piloté par la configuration (config/app.php['antispam'] alimenté par .env). Vous choisissez Cloudflare Turnstile ou hCaptcha, renseignez le fournisseur et les clés, et le widget apparaît.
Le défi est respectueux de la vie privée : aucune donnée personnelle superflue n'est réclamée à vos visiteurs.
- Cloudflare Turnstile ou hCaptcha au choix
- Fournisseur et clés définis dans .env
- Défi respectueux de la vie privée des visiteurs
Rien ne casse tant que vous n'avez pas décidé de l'activer
Sans fournisseur ni les deux clés, isConfigured() reste faux : aucun script ni widget n'est émis, et verify() passe. Vos formulaires continuent de tourner sur honeypot et time-trap seuls.
Cette dégradation gracieuse garantit qu'une configuration incomplète ne bloque jamais un formulaire par accident.
- Sans clés, aucun script ni widget n'est émis
- Le formulaire reste protégé par honeypot + time-trap
- Aucune config incomplète ne bloque un envoi légitime
Décidez pour les commentaires, le contact ou les formulaires
L'activation se fait via enabledFor('comments' / 'contact' / 'forms'), piloté par antispam.captcha_on_{form}. Chaque surface a sa propre bascule.
Le widget est un simple conteneur div doublé d'un script externe autorisé en CSP, sans code en ligne ; le champ de réponse est cf-turnstile-response ou h-captcha-response.
- Bascule par surface : comments, contact, forms
- Widget conforme CSP, aucun code en ligne
- Champ de réponse standard du fournisseur
Le jeton est vérifié au serveur, et une panne ne devient pas une porte dérobée
À la soumission, verify() poste le jeton à l'API siteverify du fournisseur (cURL avec repli sur contexte de flux, délai de 5 s). Un jeton manquant provoque un échec.
Et toute panne de transport échoue fermé (fail-closed, journalisée) : une coupure provoquée ne peut pas servir à contourner la protection.
- Jeton vérifié auprès de l'API siteverify du fournisseur
- Jeton manquant = échec
- Panne réseau = échec fermé (fail-closed), journalisé
Inerte quand vous n'en voulez pas, infranchissable quand il le faut
Deux garde-fous encadrent le service. Sans clés, il reste inerte : aucun widget émis, la vérification passe, et vos formulaires tournent sur honeypot et time-trap. Une fois activé, toute panne de transport échoue fermé et reste journalisée impossible d'en faire une porte dérobée.
Questions fréquentes
Quels fournisseurs de CAPTCHA sont supportés ?
Que se passe-t-il si je n'active aucun CAPTCHA ?
Le CAPTCHA s'applique-t-il partout d'un coup ?
Que se passe-t-il si le service du fournisseur tombe ?
Fonctionnalités liées
Modération des commentaires (admin)
Lister • Filtrer • Approuver • Marquer spam • Supprimer • Actions groupées
DécouvrirSoumission publique de commentaire (auto-modération)
Soumettre • Filtrer anti-spam • Classifier • Limiter par IP
DécouvrirBoîte de réception des messages de contact (admin)
Lister • Filtrer • Changer statut • Supprimer • Actions groupées • Répondre
DécouvrirAjoutez un défi anti-bot, sans jamais alourdir ce qui n'en a pas besoin
Le CAPTCHA optionnel n'ajoute de friction que là où vous le décidez. Choisissez Cloudflare Turnstile ou hCaptcha, renseignez vos clés, activez la protection sur les commentaires, le contact ou les formulaires et laissez le service rester silencieux partout ailleurs. La défense est proposée ; le périmètre, c'est vous qui le tracez.