Les visiteurs voient-ils un CAPTCHA ?
Les visiteurs voient-ils un CAPTCHA ?
Jamais. Karma lit la session de façon invisible et rend un verdict ; les humains passent sans friction.
Karma lit les signaux comportementaux et de transport de chaque session, évalue l’adresse selon votre propre base de réputation et une liste de blocage de bots partagée, et redirige les bots vers votre miroir pendant que les humains restent sur le site, sans CAPTCHA et sans nuire aux signaux comportementaux de votre site.
14 jours de Protect+ offerts · sans carte ni CAPTCHA
Sans CAPTCHA ni agent. Un snippet asynchrone, tout passe par TLS.
Karma s'installe avec une seule balise de script, et c'est la même partout - seul change le fichier où elle se place. Mettez-la en premier dans <head>, au-dessus des outils d'analyse et des gestionnaires de balises, pour qu'elle lise la session avant que quoi que ce soit d'autre ne la retarde.
<script async src="https://cdn.karma-verdict.com/karma-loader.js"
data-endpoint="https://collect.karma-verdict.com/t"
data-src="https://cdn.karma-verdict.com/karma.js"></script>
Rien d'autre à installer : aucun agent sur votre serveur, aucun changement DNS, aucun proxy devant votre site. Votre passerelle demande le verdict à Karma et continue de servir la page elle-même. Lire les guides d'installation
Signaux comportementaux et de transport, réputation par compte et une liste partagée optionnelle, aucun visiteur ne voit de défi.
Des sites dont le trafic passe déjà par Karma. Dès que les bots n’atteignent plus les pages, l’analytique ni les signaux comportementaux, le moteur de recherche voit le site comme le voient les vrais visiteurs.
La protection anti-bots a stoppé la baisse du trafic et fait remonter les positions en trois semaines.
Le taux de rebond s’est amélioré de 3 % dès l’activation de Karma.
Le simple nettoyage des bots dans le trafic l’a fait repartir à la hausse après un an de stabilité.
Quinze situations dans lesquelles le trafic automatisé cesse d'être une statistique dans un rapport d'analyse et commence à coûter de l'argent, des clients ou de la crédibilité. Si vous reconnaissez votre propre site dans l'une d'elles, les requêtes arrivent déjà.
Le premier groupe porte sur ce que le trafic automatisé fait réellement une fois qu'il a trouvé un site. Rien de tout cela n'exige une attaque ciblée ni un adversaire déterminé : c'est ce qui arrive à toute adresse qui répond assez longtemps sur le port 443.
Le credential stuffing est l'attaque la plus répandue d'Internet et la moins spectaculaire à observer. Des listes de couples courriel–mot de passe issues des fuites d'autres entreprises sont rejouées contre votre formulaire : quelques requêtes par seconde, depuis des milliers d'adresses différentes, jour après jour.
L'économie du procédé se contente d'un taux de réussite minuscule. Une liste d'un million de couples et une réutilisation d'un sur mille, cela fait mille comptes fonctionnels - avec cartes enregistrées, cagnottes de fidélité, historiques de commandes et carnet d'adresses, appartenant à des clients qui blâmeront le site plutôt que leurs propres habitudes.
Inscriptions, formulaires de contact, demandes de devis, avis et champs de commentaires attirent tous des soumissions automatisées. Une partie est du spam ordinaire ; la plus grande partie est plus discrète - des comptes créés en série pour capter un crédit de bienvenue, pour semer des avis, ou simplement pour attendre jusqu'à ce qu'ils valent quelque chose.
Le coût retombe sur des personnes, pas sur des serveurs. Quelqu'un au commercial appelle une liste de prospects qui n'existent pas, la modération vide une file qui se remplit pendant la nuit, et la base de clients cesse peu à peu d'être une base de clients.
Si un site publie des prix, des stocks, des annonces ou un annuaire, ces données valent la peine d'être prises. Les concurrents les suivent pour se placer en dessous, les agrégateurs les republient, et un aspirateur lit tout le catalogue chaque nuit - bien plus vite et bien plus complètement qu'aucun client ne parcourt.
Bloquer par agent utilisateur ou par plage d'adresses ne tient pas : un aspirateur qui vaut la peine d'être lancé vaut la peine d'être lancé depuis des proxys résidentiels avec une vraie empreinte de navigateur. Ce qui le distingue d'un client, ce n'est pas ce qu'il prétend être, mais la façon dont il se comporte.
Le test de cartes ne vise pas la boutique, il s'en sert. Une liste de cartes volées est validée en poussant de petites autorisations dans n'importe quel paiement qui les accepte, et un formulaire de paiement sans aucune friction devant lui est un instrument idéal pour cela.
Le site paie deux fois. D'abord en frais et en impayés sur des transactions qui n'ont jamais été des commandes, puis dans la notation de risque du prestataire de paiement : un taux d'échec d'autorisation qui monte assez haut fait examiner le compte marchand, le fait brider et, au pire, le fait fermer.
Dès qu'une part significative des sessions est automatisée, toute mesure dérivée du trafic dérive. Le taux de conversion baisse parce que le dénominateur est gonflé, le taux de rebond et la durée de session ne veulent plus rien dire, et les tests A/B ont besoin de bien plus de trafic pour atteindre la significativité - ou concluent discrètement à côté.
Les décisions continuent pourtant de reposer sur ces chiffres. On juge une campagne, on refait une page, on déplace un budget, le tout sur une mesure qui inclut une large population qui n'allait jamais rien acheter.
Le deuxième groupe porte sur la réponse habituelle et sur ce qu'elle coûte. Un test est facile à ajouter et difficile à retirer, et il présente la facture exactement à ceux que vous vouliez garder, tout en gênant à peine le trafic qu'il devait arrêter.
Les tests sont placés là où est le risque : connexion, inscription, paiement. Ce sont aussi les points où la patience d'un client est la plus mince et où l'alternative est à un onglet de distance. Chaque énigme est un point de décision qui n'existait pas, présenté à quelqu'un qui avait déjà décidé d'acheter.
La perte est invisible de la pire manière : personne ne dépose de réclamation pour avoir abandonné un panier. Le trafic arrive toujours, les commandes cessent discrètement d'arriver, et la cause ressemble à un problème de conversion plutôt qu'à un réglage de sécurité.
Les grilles d'images et le texte déformé sont un obstacle pour quiconque utilise un lecteur d'écran, pour les personnes ayant un handicap moteur, pour les personnes malvoyantes et pour un grand nombre de clients âgés qui les trouvent tout simplement impossibles. Les alternatives audio sont pires, pas meilleures, et souvent cassées.
Au-delà de la vente perdue, c'est de plus en plus une question juridique. Les règles d'accessibilité applicables aux services destinés au public ne prévoient pas d'exception pour un dispositif de sécurité, et « prouvez que vous êtes humain » est un mauvais motif pour refuser un client.
Résoudre des tests est un service avec un tarif publié. Les fermes humaines et les résolveurs automatiques traitent images et textes pour une fraction de centime pièce - une erreur d'arrondi face à la valeur d'un compte pris ou d'une carte validée.
Le test finit donc par filtrer sur la patience et non sur l'intention. L'attaquant déterminé paie et continue ; le client pressé, non, et s'en va. C'est exactement l'inverse de ce qu'il fallait.
Une application mobile qui parle à une API, une intégration partenaire, un paiement dans une vue web, un flux consommé par une application cliente : aucun n'a d'endroit où dessiner une énigme, et derrière aucun ne se trouve un humain pour la résoudre.
Ce sont d'ordinaire les points les plus précieux et les moins défendus, précisément parce que la réponse standard ne s'y applique pas. Ce qui les protège doit décider à partir de la requête elle-même.
Un test tiers charge du code dans le navigateur de chaque visiteur et rend compte à un service hors de votre contrôle, en général dans une autre juridiction. Au sens de la protection des données, c'est un sous-traitant - sur les pages les plus sensibles que vous ayez.
Sous des régimes de type RGPD, cela signifie une base légale, un registre des traitements, un contrat de sous-traitance et une réponse à la question de savoir où vont les données - pour un composant dont tout le travail consiste à interrompre des clients.
Le troisième groupe porte sur les conséquences qui arrivent avant qu'un seul compte ne soit pris. Un trafic qui ne convertit jamais coûte quand même du budget publicitaire, de la capacité serveur, du stock et de l'attention - et tôt ou tard, quelqu'un hors de l'équipe technique pose une question à laquelle il faut répondre par des preuves.
Les campagnes payantes se facturent au clic, et sur certains réseaux une part significative des clics est automatisée. L'argent est dépensé, la visite est enregistrée, le rapport d'analyse montre de la croissance - et rien de tout cela n'était une personne.
Pire, ce trafic entraîne l'optimiseur. Les stratégies d'enchères automatiques apprennent des sessions qu'on leur donne, donc un canal plein de bots apprend à la plateforme à en acheter davantage : le budget se renforce dans la mauvaise direction.
L'exploration agressive coûte cher au sens le plus littéral. Chaque requête coûte une interrogation de base, une page rendue, de la bande passante et, sur une plateforme facturée à l'usage, une ligne sur une facture. Un seul aspirateur parcourant un grand catalogue peut peser plus lourd que tout le trafic humain d'une petite boutique.
Cela ne se manifeste pas toujours par une facture. Cela se manifeste par un site lent exactement au mauvais moment - au lancement d'une campagne, pendant les soldes, le matin après une mention - parce que la capacité prévue pour les clients est partie ailleurs.
Là où l'offre est rare et la demande minutée, c'est la vitesse qui décide, et un programme est plus rapide qu'un humain. Sorties limitées, ventes de billets, invendus soldés, créneaux de livraison, agendas de rendez-vous et fenêtres d'inscription attirent des automates écrits exactement pour ce moment.
Les clients voient le résultat et en tirent une conclusion sur l'entreprise : que le stock n'existait pas vraiment, ou qu'il est parti chez des revendeurs. Cette impression coûte bien plus cher que le stock lui-même.
Les questionnaires de sécurité des grands comptes, les demandes de cyberassurance et les règles du secteur des paiements posent tous une variante de la même question : qu'est-ce qui arrête l'abus automatisé d'identifiants et de paiements sur vos points d'entrée publics, et comment savez-vous que cela fonctionne ?
« Nous avons un CAPTCHA » ne survit pas à la question suivante, car celle-ci portera sur le trafic qui le franchit. Ce qui est attendu, c'est une mesure indépendante de tout test particulier, et une trace de ce qu'elle a décidé sur la période examinée.
Agences, places de marché et groupes multimarques font tourner des dizaines de sites sur des piles techniques, des hébergements et des domaines différents. Chacun a son propre profil de trafic, sa propre tolérance aux faux positifs et sa propre idée de ce à quoi ressemble un visiteur normal.
Les configurer un à un à la main ne passe pas à l'échelle - pas plus que découvrir un problème au moment où le client téléphone. Un tel parc a besoin d'une base commune appliquée partout, d'exceptions au niveau du site là où l'un diffère réellement, et d'un endroit unique où tout se voit d'un coup.
Jamais. Karma lit la session de façon invisible et rend un verdict ; les humains passent sans friction.
Non. Le snippet se charge de façon asynchrone au-dessus de l’analytique et met en tampon les premiers événements ; il ne bloque jamais le rendu.
Karma est fail-open : en cas de panne, le visiteur reste simplement sur votre site. La disponibilité prime sur la rigueur.
Des adresses signalées par les clients contributeurs. La lecture est optionnelle, désactivée par défaut, dès l’avant-dernier plan.
Oui. Vos listes l’emportent toujours sur la plateforme, vous ne perdez ni partenaire ni bon robot.
Tout site : un snippet HTML simple plus des wrappers pour React/Next, PHP, Vue/Nuxt, WordPress et GTM.
Un logiciel antibot classique répond à une requête suspecte par une épreuve - CAPTCHA, page intermédiaire, page de blocage - et veut généralement faire passer votre trafic par son proxy. Karma répond par un verdict : il lit les signaux comportementaux et de transport, évalue la session face à votre propre base de réputation, et c'est votre passerelle qui agit. Pas d'énigme, pas de changement DNS, pas de proxy devant votre site.
Les deux, séparés là où vous voulez garder la main. Karma détecte et note ; l'application reste dans votre passerelle, donc vous décidez si un bot est bloqué, ralenti ou envoyé vers un miroir. Le forfait gratuit Detect ne donne que les verdicts, pour observer avant d'agir.
Environ cinq minutes. Une balise script asynchrone en tête du <head>, puis un appel de verdict depuis votre passerelle. C'est la même balise sur toutes les stacks - HTML, React/Next, Vue/Nuxt, PHP, WordPress ou GTM - et rien ne s'installe sur votre serveur.
Oui. Detect est gratuit, sans carte bancaire, et donne 25 000 verdicts en temps réel par mois, avec votre propre base de réputation et vos listes allow et deny. Les miroirs et la liste de blocage partagée commencent sur les forfaits payants.
À l'aide de Karma, j'installe un extrait asynchrone avant l'analyse, je collecte les signaux de comportement et de transport de session, y compris les empreintes digitales HTTP/2 et JA3/JA3N, et je transmets le verdict à la passerelle. Je ne bloque pas une IP, mais une session avec le comportement de la machine ; Je laisse mes listes blanches au dessus de ma réputation, donc le bureau, les API partenaires et les robots utiles ne sont pas interdits.
Gratuitement sans Karma, je désactive les connexions utilisant des mots de passe compromis, j'active MFA, j'ajoute la même réponse pour un compte existant et inexistant et je compte les tentatives par IP, connexion et sous-réseau simultanément sous forme de fenêtre coulissante. Je crée un journal des connexions réussies à partir du nouvel appareil, j'en informe le propriétaire et j'exige temporairement une réauthentification ; J'utilise nginx limit_req uniquement comme première couche, et non comme seule protection contre les robots.
Avec Karma, j'associe la soumission du formulaire au verdict de la même session de navigateur et n'autorise le traitement qu'après avoir évalué le comportement réel et l'empreinte digitale du transport. Je laisse CAPTCHA désactivé, j'applique une liste de refus aux automatisations approuvées et une liste d'autorisation aux intégrations de confiance ; si le service de réputation est temporairement indisponible, l'échec d'ouverture n'arrête pas le site lui-même.
Gratuitement, j'ajoute un champ honeypot, un temps de remplissage minimum, un jeton CSRF unique, une confirmation par e-mail et des limites par IP, sous-réseau, adresse et appareil. Je retarde l'émission du bonus jusqu'à ce que l'action soit confirmée, bloque les domaines jetables sur ma propre liste et compare quotidiennement la part des confirmations ; Cet ensemble réduit le spam, mais je maintiens manuellement ses règles et ses faux positifs.
Avec Karma, j'évalue la session entière, pas la chaîne User-Agent : séquence d'actions, taux de clics et empreinte digitale de transport client. J'envoie des robots vers un itinéraire limité ou un blocage avec une passerelle, je définis une liste d'autorisation explicite pour les robots de recherche de confiance et je maintiens ma propre réputation d'adresse afin que les explorations répétées soient interrompues plus rapidement.
Gratuitement, je ferme les API inutilisées, j'introduis la pagination avec des curseurs signés, je limite la profondeur et la fréquence des requêtes vers nginx, je mets en cache les réponses coûteuses et je fixe des quotas séparés pour la recherche et le téléchargement. Je vérifie les robots d'exploration officiels pour les DNS inversés et directs, j'analyse access.log pour les taux d'exploration et je bloque manuellement les ASN ou les sous-réseaux, en acceptant que les proxys résidentiels nécessiteront des ajustements constants des règles.
Avec Karma, j'obtiens un verdict avant d'envoyer une demande au fournisseur de paiement et je le relie au comportement de l'ensemble de la session, pas seulement au dernier paiement POST. Je bloque les sessions machine au niveau de la passerelle, autorise les tentatives pour les clients normaux et transfère uniquement le flux compensé vers le système de paiement, réduisant ainsi le nombre d'autorisations payantes et de faux refus.
Gratuitement, je tokenise la carte du prestataire de paiement, interdis un montant arbitraire, limite le nombre de tentatives par compte, carte token, BIN, IP et sous-réseau, et après plusieurs refus, j'introduis un délai et un email de confirmation. J'active 3-D Secure selon les règles de risque, je n'enregistre pas le CVV et je crée une alerte sur le ratio refus/paiements réussis ; les règles doivent être calibrées manuellement par rapport aux commandes réelles.
Avec Karma, je commence à collecter des signaux avant le compteur, je reçois le verdict de la session et je sépare les personnes des robots avant de générer un événement analytique. J'enveloppe le compteur trouvé pour que le miroir ne crée pas de doublon, et si Karma n'est pas disponible, l'analyse est lancée avec un délai d'attente ; puis je compare la conversion entre les sessions humaines effacées.
Gratuitement, je crée un identifiant de session serveur, signale les centres de données connus et les séquences non naturelles, exclus le trafic interne et filtre les rapports par événements confirmés - connexion, panier ou achat. J'enregistre le flux brut séparément afin de ne pas perdre de données en cas d'échec d'un filtre, et je révise mes expressions régulières et mes listes de robots chaque semaine.
Avec Karma je remplace le challenge explicite par une évaluation de session en arrière-plan : l'extrait est chargé de manière asynchrone, ne bloque pas le rendu et transmet le verdict à la passerelle avant l'action critique. Je saute les sessions humaines sans étape supplémentaire et j'arrête les sessions automatiques en fonction d'une combinaison de comportement, de réputation et de caractéristiques de transport.
Gratuitement, je supprime le CAPTCHA pour tout le monde et n'applique la vérification étape par étape qu'après un signal de risque : paiement trop rapide, trop de cartes, d'adresses ou de paniers pour une session. J'ajoute l'e-mail de confirmation, la clé d'idempotence par commande et les quotas de serveur, puis mesure la conversion du groupe témoin ; Je prends en charge mon propre moteur de risque et ses exceptions.
Avec Karma, je ne demande pas du tout au visiteur de prouver qu'il est un humain : la solution est basée sur les signaux de fond de la session et appliquée par la passerelle. Je conserve la forme sémantique habituelle, la navigation au clavier et les messages d'erreur, et j'épingle les scripts d'assistance de confiance à la liste verte si nécessaire.
Gratuitement, je supprime le CAPTCHA inaccessible, j'ajoute un champ de pot de miel caché, une vérification de l'heure côté serveur, une confirmation par e-mail et des limites d'action. Si une vérification supplémentaire est encore nécessaire, je propose plusieurs méthodes équivalentes - email, TOTP ou contact du support - et les teste avec le clavier et le Narrateur, sans faire de la vision une condition d'accès.
Avec Karma, je ne considère pas l'image résolue comme une preuve : le verdict est basé sur le comportement de la session complète, l'empreinte digitale du transport et ma base de réputation. Je bloque le trafic des machines même avec un navigateur apparemment correct et j'utilise mes propres listes de partenaires et de sources d'attaques confirmés.
Gratuitement, je considère le CAPTCHA comme un seul signal et après cela je vérifie la vitesse, la répétabilité des champs, le nombre de comptes, de cartes et d'actions par appareil. J'associe le jeton à une session spécifique et à une action ponctuelle, limite la durée de vie, interdit la réutilisation et fixe les quotas du serveur ; J'envoie des résultats suspects pour modération retardée.
Avec Karma, je collecte les signaux du navigateur là où se trouve une vue Web ou un client Web, je les associe à une session de serveur et j'applique le verdict sur la passerelle avant d'appeler la précieuse API. Pour les vrais clients partenaires, je définis une route de confiance ou une liste autorisée distincte, et j'évalue et limite le flux anonyme quel que soit l'agent utilisateur.
Gratuitement, je sépare les API humaines et machines, j'émets des jetons OAuth de courte durée avec une audience et une portée pour les partenaires, je signe les demandes et j'introduis des quotas pour la clé et l'opération. Pour les méthodes anonymes, j'utilise un nonce, une clé d'idempotence, des limites de compte/IP/sous-réseau et une vérification de cohérence côté serveur ; Je considère la certification mobile comme un signal supplémentaire, et non le seul.
Avec Karma, j'utilise mon propre contour de réputation de compte, je choisis explicitement de participer à la liste noire générale et je ne montre pas à l'utilisateur de puzzle tiers. Je documente les signaux comportementaux et de transport collectés via TLS, limite la capture de champ au strict minimum et applique le verdict sans widget externe bloquant.
J'implémente gratuitement un pot de miel, des jetons temporaires, une limite de taux et des journaux de risques de mon côté, sans envoyer de données à un fournisseur CAPTCHA externe. Je tronque l'IP et le User-Agent dans les journaux à la longueur requise, exclus le contenu des formulaires, décris le traitement dans la politique et procède à une évaluation de la base juridique ; le prix de l'itinéraire gratuit est son propre développement et la révision régulière des règles.
Avec Karma, j'identifie chaque session publicitaire avec un verdict de comportement et de trafic, je sépare le trafic automatisé avant d'envoyer les conversions clés et je stocke la source, la campagne et l'identifiant de clic à titre de preuve. Je transmets uniquement les événements humains confirmés au système publicitaire et j'ajoute les sources en double à ma propre liste de refus.
Gratuitement, je fais correspondre les conversions access.log, click id, coût et serveur, j'élimine les clics en double sans session normale et je télécharge les conversions hors ligne vérifiées sur la plateforme publicitaire. Je bloque les centres de données connus, fixe des limites au formulaire et envoie régulièrement un rapport au site sur les clics anormaux ; les proxys distribués nécessitent une analyse manuelle.
Avec Karma, je prends une décision avant un traitement coûteux : la passerelle reçoit le verdict de la session et ne permet pas à l'automatisation confirmée d'accéder à l'application et à la base de données. Je mets en cache les solutions localement, laisse les échecs ouverts pour disponibilité et autorise les indexeurs utiles via une liste verte prioritaire.
Gratuitement, j'installe un cache CDN sur les pages publiques, limite la fréquence et les requêtes simultanées de nginx, ferme les recherches lourdes avec une longueur de requête et un cache minimum, et une API avec des quotas et des curseurs signés. Je crée un rapport à partir de access.log par URI, temps de réponse et octets transférés, puis je bloque manuellement les modèles et sources les plus coûteux.
Avec Karma, j'évalue la session avant de réserver le reste et je laisse fonctionner uniquement le thread avec un verdict humain ; La passerelle arrête les sessions machine avant même la transaction de l'entrepôt. J'ajoute mes propres listes de caisses et de partenaires et j'analyse les verdicts associés sans obliger chaque client à résoudre un CAPTCHA.
J'émets gratuitement un jeton de file d'attente unique signé, je limite la réserve à un compte et un instrument de paiement, je définis un TTL court pour le panier et j'efface le solde de manière atomique dans la base de données. J'ajoute la confirmation par e-mail/téléphone, la limite de quantité et le post-vérification des commandes associées ; Je traite manuellement l'automatisation distribuée et le retour des verrous erronés.
Avec Karma, je télécharge l'historique des sessions et des verdicts, j'enregistre les règles d'autorisation/refus appliquées et j'affiche la part de l'automatisation arrêtée aux points requis. Je documente l'emplacement de l'extrait, la signalisation TLS, le mode d'ouverture en cas d'échec et le propriétaire de la politique, et pour le tester, je rejoue une session de machine de test et enregistre le résultat.
Gratuitement, j'approuve les limites de débit écrites, les politiques de MFA et de réponse aux abus, je centralise les journaux d'accès/d'authentification/de paiement et je stocke les modifications de configuration dans Git. J'effectue chaque mois un test contrôlé, compte les tentatives, les blocages et les faux positifs, signe le rapport avec le responsable ; c'est la procédure régulière qui crée la preuve, et non le nom de l'instrument.
Avec Karma, je connecte chaque domaine avec un extrait approprié, mais je gère la réputation, les listes et les verdicts à partir d'un seul panneau de compte. J'utilise une seule couche de signal commune, je définis des exceptions explicites spécifiques au site et je distribue des sources vérifiées via ma propre base de données sans copier manuellement la configuration entre les piles.
Gratuitement, je mets les règles nginx/WAF dans un seul référentiel Git, décris le modèle de base et les remplacements de domaine, vérifie la configuration dans CI et le déploie avec Ansible. Je maintiens une liste CIDR centrale avec le motif, le propriétaire et la date d'expiration, je collecte les journaux dans un seul système et je supprime les exceptions expirées selon un calendrier ; Je prends en charge les détecteurs et apporte moi-même les modifications.
Trois questions qui méritent une réponse avant de placer quoi que ce soit devant votre propre trafic.
La protection contre les bots n'est pas un sujet en soi : c'est le point de rencontre des clients automatisés, des défis conçus pour les arrêter, des signaux qui les trahissent et d'un ensemble de normes publiées. Voici les sources qui définissent chacun d'eux.
Les liens pointent vers les sources elles-mêmes : Wikidata lorsque l'entité a un identifiant, la source primaire sinon.