Protection anti-bot · discrète sauf si nécessaire

Une case à cocher devant vos formulaires.
Rien devant vos clients.

Placez une case « Je ne suis pas un robot » sur vos propres formulaires et pages, et un contrôle côté origine devant tout ce que vous hébergez avec Xuda. Il n'escalade vers un challenge visuel, puis vers un contrôle IA, que lorsque les signaux du visiteur paraissent automatisés.

Aucun fournisseur de captcha
Remplacement direct pour reCAPTCHA et Turnstile
Gratuit sur vos propres formulaires
Jetons de passage à usage unique
Formulaire de contact Protégé
Nom
Dana Levi
Je ne suis pas un robot Protégé par Xuda
Vérifiéniveau 0 · aucun challenge affiché
Score de signal passif0,86 · réussit à 0,70
Preuve de travail16 bits de zéro en tête
Jeton de réponsexrsp1. · usage unique · 2 min
Échelle d'escalade :L0 Case à cocher + preuve de travailL1 Challenge visuel à 9 tuilesL2 Contrôle IA
3

Niveaux d'escalade · la plupart des visiteurs ne quittent jamais le premier

0

Fournisseurs de captcha dans le chemin · construit en interne

Gratuit

Palier couvrant vos propres formulaires et les cibles hébergées par Xuda

16

Bits de zéro en tête de preuve de travail, par défaut

Le coût d'un captcha est payé par les humains

Les bots devraient travailler plus dur. Pas les clients.

La plupart des contrôles traitent chaque visiteur de la même façon : plissez les yeux devant une image, prouvez-vous, réessayez. Xuda Bot Protection commence par une case à cocher et un ensemble de signaux que le navigateur du visiteur révèle gratuitement. Si ceux-ci paraissent humains, c'est terminé. Ce n'est que quand ils paraissent automatisés que quelqu'un voit un challenge visuel, et ce n'est qu'après cela qu'une IA intervient.

Il est construit en interne. Il n'y a aucun fournisseur de captcha derrière, aucun compte à ouvrir ailleurs, et rien concernant vos visiteurs n'est remis à un service tiers pour notation.

Le mettre en ligne

Quatre mouvements de rien à protégé.

Bot Protection se trouve dans le groupe MODULES de votre menu de compte. Rien n'est activé tant que vous n'avez pas choisi un palier, et Gratuit en est un vrai.

  1. 01

    Choisissez un palier

    Ouvrez Protection anti-bot et choisissez parmi l'échelle à quatre cartes. Gratuit est une activation, pas une hypothèse : appuyez sur Activer et vous ne devez rien. Les paliers payants indiquent le montant clairement avant confirmation, et ajoutent une ligne à la facture que vous recevez déjà.

  2. 02

    Activez le widget et enregistrez

    Sur l'onglet Configuration, activez la protection anti-bot et appuyez sur Enregistrer les modifications. Cette première sauvegarde génère votre clé de site publique et votre clé secrète privée. Réglez l'Agressivité sur Faible, Moyenne ou Élevée pendant que vous y êtes.

  3. 03

    Collez l'extrait, vérifiez sur votre serveur

    Copiez la balise de script, ou le div de montage en ligne si vous voulez placer la case à cocher vous-même. Puis envoyez le secret et le jeton de réponse du formulaire au point de terminaison de vérification et relisez success, score et level_reached.

  4. 04

    Armez tout ce que vous hébergez avec Xuda

    Sur l'onglet Protection, appuyez sur Ajouter une protection, choisissez un VPS, déploiement, datacenter ou répartiteur de charge, et basculez Armé. L'origine commence à appliquer dans une actualisation de 30 secondes, et désarmer est le même commutateur.

Ce que vous obtenez

Un seul contrôle, deux endroits où le placer.

Un widget pour les formulaires et pages que vous hébergez vous-même, et une barrière côté origine pour tout ce qui tourne sur Xuda. Même échelle, mêmes clés, même tableau de bord.

Une case à cocher, pas un parcours d'obstacles

Le niveau 0 est un clic plus un ensemble de signaux que le navigateur révèle de toute façon. Le réussir et il n'y a aucun puzzle, aucune grille de bus, aucune seconde tentative. C'est toute l'expérience pour la plupart des gens.

Des signaux notés avant que rien ne soit affiché

Comptes de pointeur, de touches et de défilement, présence tactile, WebGL et canvas, concurrence matérielle, langues, fuseau horaire, drapeaux d'automatisation et temps de présence deviennent une probabilité humaine unique, avec des raisons nommées comme no_interaction, webdriver, headless et instant_click.

Le navigateur paie avant d'être cru

Chaque visiteur résout un puzzle de preuve de travail SHA-256, 16 bits de zéro en tête par défaut, un bit plus difficile en agressivité Moyenne et deux en Élevée. Bon marché une fois, coûteux à volume de bots.

Des challenges visuels sans bibliothèque photo

Le niveau 1 est une grille de 9 tuiles dessinée en interne en SVG : cinq formes, huit couleurs, au moins deux tuiles correctes, présenté comme « Sélectionnez chaque image qui montre un ... ». Rien n'est récupéré d'un tiers et rien n'est extrait de vos utilisateurs.

L'IA comme dernier mot, pas le premier

Le niveau 2 demande un verdict de risque humain, bot ou limite. Un visiteur limite reçoit une question de bon sens générée avec une réponse attendue hachée. Si le score est injoignable, le visiteur est traité comme limite plutôt qu'échoué.

Des jetons de passage à usage unique et de courte durée

Une réussite est un jeton signé qui vit deux minutes et est brûlé la première fois que votre serveur le vérifie. Rejouer le même jeton et la réponse est expiré-ou-dupliqué. Il n'y a aucune session côté serveur à synchroniser.

Remplacement direct pour le code que vous avez déjà écrit

L'appel de vérification prend un secret et une réponse et répond avec success, score, level_reached, hostname, challenge_ts et des codes d'erreur. Le code backend existant n'a généralement besoin que d'un changement d'URL.

Application côté origine, aucune périphérie supplémentaire

Les cibles armées sont appliquées par le routeur Xuda lui-même. Un visiteur validé porte un cookie httpOnly, sécurisé, SameSite=Lax pour la fenêtre de validation, si bien que l'écran intermédiaire est un événement ponctuel, pas un péage.

Contrôle de flux et pot de miel silencieux

60 tentatives de vérification par minute par IP visiteur et clé de site, 600 par minute par clé de site. Un champ leurre rempli fait échouer le visiteur avec une raison délibérément peu informative, si bien que le bot n'apprend rien du rejet.

Configuration, en une carte

Activez-le. Copiez deux lignes. Terminé.

Activer le widget pour la première fois génère votre clé de site et votre clé secrète. La clé de site est publique et va dans l'extrait. La clé secrète reste sur votre serveur et sert à vérifier une réussite. Les deux se trouvent dans une carte sur l'onglet Configuration, avec des boutons de copie et un bouton Faire pivoter le secret à côté.

  • Collez le script une fois sur n'importe quelle page et la case à cocher se monte d'elle-même, ou déposez le div de montage en ligne exactement où vous le voulez.
  • Faites pivoter le secret quand vous voulez. La boîte de dialogue vous avertit que l'ancien cesse de fonctionner partout où il est utilisé.
  • L'agressivité est un simple sélecteur : Faible escalade rarement, Élevée escalade facilement. Moyenne est le défaut.
Le widget
ForfaitsConfigurationProtection
Protection anti-bot
Les visiteurs voient une case « Je ne suis pas un robot ».
Clé de site public
7hQ2pXv0nMbK4sRj9TfLdA
Clé secrète
•••••••••••••••••••••• 4c9E Révéler Faire pivoter le secret
Agressivité
FaibleMoyenneÉlevée

Équilibré. La plupart des visiteurs cochent la case sans jamais voir de challenge.

Exiger le contrôle sur mon formulaire de contact
Extrait du widget
<script src="https://xuda.io/dist/runtime/js/captcha-loader.js"
        data-sitekey="7hQ2pXv0nMbK4sRj9TfLdA"></script>
Montage en ligne
<div class="xuda-captcha" data-sitekey="7hQ2pXv0nMbK4sRj9TfLdA"></div>
Enregistrer les modifications
L'échelle d'escalade

Personne ne voit un puzzle avant de l'avoir mérité.

Le niveau 0 est la case à cocher, les signaux passifs et un puzzle de preuve de travail que le navigateur doit résoudre. Le niveau 1 est un challenge visuel à 9 tuiles. Le niveau 2 est un verdict de risque IA et, si ce verdict est limite, une question générée. Chaque niveau n'existe que parce que celui d'avant a échoué.

L0

Case à cocher, signaux et preuve de travail

où presque tout le monde s'arrête

Le visiteur clique une fois. Côté serveur, les signaux passifs deviennent un score et le navigateur doit avoir résolu le puzzle de preuve de travail. Une réussite qui arrive plus vite que l'âge minimum n'est pas acceptée.

  • Le seuil de réussite bouge avec l'agressivité : 0,6 en Faible, 0,7 en Moyenne, 0,8 en Élevée.
  • La preuve de travail est bornée à 8..24 bits de zéro en tête quand vous la réglez à la main.
  • Le jeton de session derrière le widget vit 15 minutes.
L1

Un challenge visuel à 9 tuiles

seulement après l'échec du niveau 0

Une forme cible, neuf tuiles, au moins deux correctes. La grille est générée sur place à partir de cinq formes et huit couleurs, et notée contre un hachage des tuiles correctes plutôt qu'une réponse stockée.

  • Actualiser donne une nouvelle grille ; Vérifier soumet la sélection.
  • Chaque challenge émis est valide deux minutes.
  • Aucune photographie, aucun panneau de rue, aucune bibliothèque de fournisseur.
L2

Un contrôle de risque IA, puis une question

la dernière étape avant un blocage

Les preuves collectées vont vers un verdict de risque structuré : un score, un verdict humain, bot ou limite, et une raison. Un humain clair réussit, un bot clair est bloqué, et un visiteur limite reçoit exactement une question générée à répondre.

  • Le verdict doit noter au moins 0,7 pour réussir à ce niveau.
  • La question générée est valide trois minutes et posée une fois.
  • Si le score est injoignable, le visiteur est traité comme limite, pas échoué.
Sélectionnez chaque image qui montre un triangle
Niveau 1 · 9 tuiles · au moins 2 correctes
ActualiserVérifier
Généré en interne en SVG. Aucune bibliothèque photo, aucun fournisseur.
Vérification côté serveur

Votre backend sait déjà comment parler à ceci.

Le point de terminaison de vérification prend un secret et un jeton de réponse et répond dans le même format que reCAPTCHA et Turnstile. Si vous avez écrit ce code une fois, vous l'avez écrit pour ceci. Généralement seule l'URL change.

  • Même format de requête que les appels siteverify que vous avez déjà écrits : un secret, un jeton de réponse, une IP visiteur optionnelle.
  • Une réussite renvoie le score et le niveau atteint par le visiteur, pour que vous puissiez consigner à quel point le contrôle a dû travailler.
  • Les échecs reviennent comme des codes lisibles : missing-input, invalid-input-secret, invalid-input-response, timeout-or-duplicate.
  • Appelez-le depuis votre serveur uniquement. La clé secrète est l'identifiant, elle n'a donc jamais sa place dans le balisage de page.
votre serveur → captcha_siteverify
$ curl -X POST https://xuda.io/cpi/captcha_siteverify \
    -H 'content-type: application/json' \
    -d '{"secret":"YOUR_SECRET_KEY","response":"<token from the form>"}'

{
  "success": true,
  "score": 0.86,
  "level_reached": 0,
  "hostname": "studio.co",
  "challenge_ts": "2026-08-11T09:14:02Z",
  "error-codes": []
}
Rejouez le même jeton et vous obtenez timeout-or-duplicate. Les jetons sont à usage unique et vivent deux minutes.
Sous attaque, à la demande

Placez le contrôle devant tout le site.

Choisissez un VPS, un déploiement, un datacenter ou un répartiteur de charge que vous hébergez avec Xuda, puis basculez Armé. Chaque visiteur non validé reçoit un écran pleine page « Vérification de votre navigateur » avant que le site ne charge. Désactivez-le et ils s'arrêtent. Seules les cibles hébergées par Xuda peuvent être protégées aujourd'hui.

Protection
Ajouter une protection
CibleTraficArmé
shop.mysite.com
Déploiement · eu1
18,402 servis
1,196 défiés, 284 bloqués
api-prod-01
VPS · us1
6,051 servis
410 défiés, 97 bloqués
edge-balancer
Répartiteur de charge · eu1
2,338 servis
84 défiés, 12 bloqués

Appliqué à votre origine

Le routeur Xuda garde la liste armée en mémoire et l'actualise toutes les 30 secondes, si bien qu'armer et désarmer prennent effet dans une actualisation et il n'y a aucun saut supplémentaire sur le chemin critique.

Un passage, puis le silence

Un visiteur qui franchit le contrôle reçoit un cookie de validation httpOnly, sécurisé, SameSite=Lax et navigue normalement pour le reste de la fenêtre, 30 minutes par défaut.

Ou une seule bascule sur l'application

La carte Actions rapides d'un déploiement porte « Protection anti-bot (Sous attaque) ». Basculez-la là et le même contrôle se met en place, avec une ligne de challenges servis en dessous.

Quand une règle générale est trop brutale

Des règles en pays, chemins et heures.

Parfois la réponse n'est pas plus dure pour tout le monde, elle est plus dure pour un pays, un chemin ou une fenêtre de la journée. Les règles personnalisées s'exécutent en périphérie dans un ordre fixe, vous savez donc toujours quelle règle a gagné. Elles viennent avec le forfait Règles personnalisées.

  • Autoriser, défier ou bloquer par pays, choisi dans la liste complète ISO 3166-1 alpha-2.
  • Règles par chemin comme /login ou /checkout, chacune réglée sur défier, bloquer ou autoriser.
  • Fenêtres par heure de la journée et jour de la semaine, pour les moments où vous savez que le trafic devrait être calme.
  • Listes toujours autoriser et toujours bloquer qui prennent des adresses IP, plages CIDR ou codes pays.
  • Une exigence de référent, plus une fenêtre de validation que vous pouvez régler de une minute à 24 heures.
Règles personnalisées
Géo
Autoriser AU, CA, GB, US · défier le reste
défier
Chemins
/login, /checkout
défier
Heures de la journée
23h00 à 05h00
défier
Toujours bloquer
203.0.113.0/24
bloquer
Une réussite dure
30 minutes
validation
Ordre d'exécution : liste de blocage, liste d'autorisation, géo, chemins, heures, jours, référent. La première correspondance gagne.
Un forfait par compte

Quatre paliers, et une ligne sur la facture.

Le forfait se trouve sur le compte, pas sur chaque chose protégée, rien ici n'est donc facturé par cible protégée. Gratuit est une activation plutôt qu'un essai, et changer entre paliers payants retarife une seule ligne au lieu d'empiler une deuxième charge.

Gratuit

Commencez ici
Aucune carte nécessaire

La case à cocher sur vos propres formulaires, et le contrôle pleine page sur tout ce que vous hébergez avec Xuda.

  • La case à cocher « Je ne suis pas un robot » sur toute page que vous hébergez vous-même, comme balise de script ou div de montage en ligne.
  • Le contrôle pleine page devant un VPS, déploiement, datacenter ou répartiteur de charge Xuda.
  • Vérification côté serveur via le point de terminaison siteverify, sans clé API impliquée.
  • Agressivité, difficulté de preuve de travail et fenêtre de validation de 30 minutes sont toutes à vous de régler.
Cibles que vous hébergez ailleurs
Accès API programmatique
Règles personnalisées
Facturé par cible protégée
Jamais

External

Le droit de protéger une cible que vous hébergez ailleurs que sur Xuda.

Tout dans Gratuit, plus
  • La capacité de cible externe sur le compte, appliquée dans le code et prête pour le jour où le chemin d'attachement s'ouvre.
Cibles que vous hébergez ailleurs
Autorisé, pas encore attachable
Accès API programmatique
Règles personnalisées
Facturé par cible protégée
Jamais

API

Conçu pour piloter le contrôle depuis votre propre code. La surface programmatique n'est pas encore ouverte.

Tout dans External, plus
  • La capacité API sur le compte. Vérifier une réussite depuis votre propre backend n'attend pas cela : le point de terminaison siteverify est public et se trouve sur Gratuit.
Cibles que vous hébergez ailleurs
Autorisé, pas encore attachable
Accès API programmatique
Pas encore ouvert
Règles personnalisées
Facturé par cible protégée
Jamais

Règles personnalisées

Le plus complet

Pour quand une règle générale est trop brutale et que vous voulez viser le contrôle sur un pays, un chemin ou une fenêtre.

Tout dans API, plus
  • Autoriser, défier ou bloquer par pays, depuis la liste complète ISO 3166-1 alpha-2.
  • Règles par chemin comme /login ou /checkout, chacune réglée sur défier, bloquer ou autoriser.
  • Fenêtres par heure de la journée et jour de la semaine, plus une exigence de référent.
  • Listes toujours autoriser et toujours bloquer prenant des adresses IP, plages CIDR ou codes pays.
  • Agressivité par cible, évaluée en périphérie dans un ordre fixe pour que vous sachiez quelle règle a gagné.
Règles de chemin
100 max
Entrées par liste d'autorisation ou de blocage
200 max
Fenêtre de validation
1 min à 24 heures
Facturé par cible protégée
Jamais

Dit clairement : la protection anti-bot est en direct et vérifiée sur dev et n'a pas encore été publiée sur les régions de production. Le palier External est facturable mais il n'y a aucun moyen d'attacher une cible en dehors de Xuda aujourd'hui. Les méthodes du palier API ne sont pas ouvertes aux clés API, la seule surface sans clé pour le moment est donc le point de terminaison de vérification côté serveur, et c'est déjà sur Gratuit. Sur Règles personnalisées, les règles de pays, chemin, heure, jour, référent et listes d'autorisation et de blocage sont appliquées en périphérie ; les contrôles de débit, empreinte et mauvais ASN sont enregistrés mais pas encore appliqués.

Protection anti-bot face aux options habituelles

Aucun fournisseur avec qui s'inscrire. Aucun visiteur à remettre.

Les choix réalistes sont un widget captcha hébergé par un tiers, un blocage au niveau réseau devant votre site, ou un champ pot de miel que vous avez écrit vous-même. Voici ce que chacun vous donne vraiment.

Xuda Bot Protection Vous
Un widget captcha tiers
Un blocage au niveau réseau
Votre propre champ pot de miel
Case à cocher que vous pouvez coller sur vos propres formulaires
Contrôle pleine page devant tout un site hébergé
N'escalade que quand les signaux paraissent automatisésVarie
Preuve de travail avant que le navigateur ne soit cru16 bits par défautVarie
Challenge visuel généré en interne, aucun jeu de photosVarie
Verdict de risque IA comme étape finaleVarie
Signaux du visiteur notés par un tiersVarieVarie
Vérification côté serveur au format siteverify
Jeton de passage à usage unique, rejeu rejeté2 minutesVarie
Limitation de débit par visiteur et par site incluseVarie
Règles de pays, chemin, heure et jourForfait Règles personnaliséesVarie
Facturé par cible protégéeVarieVarie
Questions courantes

Les choses qui valent la peine d'être demandées d'abord.

Arrêtez les bots. Laissez tout le monde d'autre tranquille.

Activez la case à cocher pour vos propres formulaires et pages, ou armez le contrôle pleine page devant tout ce que vous hébergez avec Xuda. Palier gratuit, aucune carte, aucun frais par cible, et aucun fournisseur de captcha au milieu.

Vos visiteurs obtiennent une case à cocher. Tout le reste se passe là où ils ne peuvent pas le voir.