Créer des clés reCAPTCHA pour les sites Web

Cette page explique comment créer des clés reCAPTCHA (également appelées clés) pour vérifier les interactions des utilisateurs sur vos pages Web.

Les clés reCAPTCHA représentent la façon dont reCAPTCHA est configuré pour un site Web. La configuration comprend des options importantes, telles que l'affichage ou non de défis CAPTCHA.

Avant de commencer

Créer une clé reCAPTCHA

Vous pouvez créer un nombre illimité de clés reCAPTCHA que vous pouvez créer pour un projet Google Cloud. Il est préférable de créer une clé reCAPTCHA par site Web.

Nous vous recommandons de créer des clés reCAPTCHA distinctes pour les environnements de préproduction et de production. Sinon, vous risquez de polluer l'analyse des risques reCAPTCHA avec des données provenant de votre environnement de test.

Le moyen le plus simple de créer une clé reCAPTCHA est d'utiliser la console Google Cloud. Vous pouvez également utiliser l'API reCAPTCHA Enterprise ou la Google Cloud CLI.

Console

  1. Dans la console Google Cloud, accédez à la page reCAPTCHA.

    Accéder à reCAPTCHA

  2. Vérifiez que le nom de votre projet s'affiche dans le sélecteur de projet en haut de la page.

    Si le nom de votre nouveau projet n'apparaît pas, cliquez sur le sélecteur de projet, puis sélectionnez votre projet.

  3. Cliquez sur Créer une clé.
  4. Dans le champ Nom à afficher, saisissez un nom à afficher pour la clé.
  5. Dans le menu Choisir un type de plate-forme, sélectionnez Site Web.

    La section Liste de domaines s'affiche.

  6. Saisissez le nom de domaine de votre site Web :

    1. Dans la section Liste de domaines, cliquez sur Ajouter un domaine.
    2. Dans le champ Domaine, saisissez le nom de votre domaine.
    3. Facultatif : pour ajouter un domaine supplémentaire, cliquez sur Ajouter un domaine et saisissez le nom d'un autre domaine dans le champ Domaine. Vous pouvez ajouter jusqu'à 250 domaines.

      Pour les sites Web, la clé reCAPTCHA est propre aux domaines et sous-domaines que vous spécifiez. Vous pouvez spécifier plusieurs domaines si vous diffusez votre site Web à partir de plusieurs domaines. Si vous spécifiez un domaine (par exemple, examplepetstore.com), vous n'avez pas besoin de spécifier ses sous-domaines (par exemple, subdomain.examplepetstore.com).

      Pour utiliser une clé sur plus de 250 domaines, cliquez sur le bouton Désactiver la validation du domaine. reCAPTCHA ignore alors la liste de domaines. Vous devez effectuer la validation du domaine vous-même en examinant le champ tokenProperties.hostname dans les évaluations que vous créez.

  7. Selon le type de clé reCAPTCHA que vous souhaitez créer pour votre site Web, effectuez l'action appropriée:
  8. Créer des clés reCAPTCHA basées sur des scores

    1. Facultatif: Si vous souhaitez désactiver la validation du domaine ou autoriser les pages AMP, développez la section Pare-feu d'application Web (WAF), validation du domaine, pages AMP et défi.
      1. Pour protéger la clé reCAPTCHA de votre domaine et de vos sous-domaines, assurez-vous que l'option Désactiver la validation du domaine est désactivée.

        Désactiver la validation du domaine représente un risque de sécurité, car il n'existe aucune restriction sur le site. Par conséquent, n'importe qui peut accéder à votre clé reCAPTCHA et l'utiliser.

      2. Si vous souhaitez que la clé basée sur les scores fonctionne avec les pages AMP (Accelerated Mobile Pages), activez l'option Autoriser le fonctionnement de cette clé avec les pages AMP.
      3. Pour votre environnement hors production, si vous souhaitez spécifier un score que vous souhaitez que la clé renvoie lorsqu'une évaluation est créée pour celui-ci, procédez comme suit:

        1. Cliquez sur le bouton Il s'agit d'une clé de test.
        2. Dans le champ Score, indiquez un score compris entre 0 et 1.
      4. Cliquez sur Créer une clé.

      La nouvelle clé est répertoriée sur la page Clés reCAPTCHA.

    Créer des clés reCAPTCHA à cocher

    1. Développez la section Pare-feu d'application Web (WAF), validation du domaine, pages AMP et défi.
    2. Pour protéger la clé reCAPTCHA de votre domaine et de vos sous-domaines, assurez-vous que l'option Désactiver la validation du domaine est désactivée.

      Désactiver la validation du domaine représente un risque de sécurité, car il n'existe aucune restriction sur le site. Par conséquent, n'importe qui peut accéder à votre clé reCAPTCHA et l'utiliser.

    3. Activez l'option Utiliser le défi par case à cocher.
    4. Sélectionnez l'option Test de sécurité appropriée.

      L'option "Test de sécurité" contrôle la probabilité qu'un utilisateur soit invité à effectuer un test secondaire dans lequel il doit sélectionner des images d'une catégorie identifiée (par exemple, des images de motos ou d'escaliers).

      Si vous souhaitez garantir la meilleure protection contre la fraude, sélectionnez Difficulté plus élevée (plus sécurisée contre les bots).

      Si vous sélectionnez Défi le plus facile, les utilisateurs sont moins susceptibles d'être invités à relever le défi visuel.

    5. Pour votre environnement hors production, si vous souhaitez spécifier un score que vous souhaitez que la clé renvoie lorsqu'une évaluation est créée pour celui-ci, procédez comme suit:

      1. Cliquez sur le bouton Il s'agit d'une clé de test.
      2. Dans le champ Score, indiquez un score compris entre 0 et 1.
      3. Sélectionnez le type de défi approprié.
        • Auto affiche parfois le défi.
        • No CAPTCHA (Aucun CAPTCHA) n'affiche aucun test.
        • Le test insolvable affiche les images, mais le test n'est pas réussi.
      4. Cliquez sur Créer une clé.

      La nouvelle clé est répertoriée sur la page Clés reCAPTCHA.

gcloud

Pour créer des clés reCAPTCHA, utilisez la commande gcloud recaptcha keys create.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • DISPLAY_NAME: nom de la clé. Généralement un nom de site.
  • INTEGRATION_TYPE: type d'intégration. Selon le type de clé, spécifiez les valeurs suivantes :
    • score pour les clés basées sur des scores.
    • checkbox pour les touches de case à cocher
  • DOMAIN_NAME: domaines ou sous-domaines des sites Web autorisés à utiliser la clé.

    Spécifiez plusieurs domaines sous la forme d'une liste d'éléments séparés par une virgule.

    Pour utiliser une clé sur plus de 250 domaines, spécifiez --allow-all-domains afin de désactiver la validation du domaine. reCAPTCHA ignore alors la liste de domaines. Vous devez effectuer la validation du domaine vous-même en examinant le champ tokenProperties.hostname dans les évaluations que vous créez.

    Désactiver la validation du domaine représente un risque de sécurité, car il n'existe aucune restriction sur le site. Par conséquent, n'importe qui peut accéder à votre clé reCAPTCHA et l'utiliser.

Exécutez la commande gcloud recaptcha keys create:

Linux, macOS ou Cloud Shell


gcloud recaptcha keys create \
        --web \
        --display-name=DISPLAY_NAME  \
        --integration-type=INTEGRATION_TYPE \
        --domains=DOMAIN_NAME

Windows (PowerShell)


gcloud recaptcha keys create `
        --web `
        --display-name=DISPLAY_NAME  `
        --integration-type=INTEGRATION_TYPE `
        --domains=DOMAIN_NAME

Windows (cmd.exe)


gcloud recaptcha keys create ^
        --web ^
        --display-name=DISPLAY_NAME  ^
        --integration-type=INTEGRATION_TYPE ^
        --domains=DOMAIN_NAME

La réponse contient la clé reCAPTCHA que vous venez de créer.

REST

Pour obtenir des informations de référence sur les types de clés et les types d'intégration, consultez les sections Clé et Type d'intégration.

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • DISPLAY_NAME: nom de la clé. Généralement un nom de site.
  • INTEGRATION_TYPE: type d'intégration. Selon le type de clé, spécifiez les valeurs suivantes :
    • score pour les clés basées sur des scores.
    • checkbox pour les touches de case à cocher
  • DOMAIN_NAME: domaines ou sous-domaines des sites Web autorisés à utiliser la clé.

    Spécifiez plusieurs domaines sous la forme d'une liste d'éléments séparés par une virgule.

    Pour utiliser une clé sur plus de 250 domaines, spécifiez --allow-all-domains afin de désactiver la validation du domaine. reCAPTCHA ignore alors la liste de domaines. Vous devez effectuer la validation du domaine vous-même en examinant le champ tokenProperties.hostname dans les évaluations que vous créez.

    Désactiver la validation du domaine représente un risque de sécurité, car il n'existe aucune restriction sur le site. Par conséquent, n'importe qui peut accéder à votre clé reCAPTCHA et l'utiliser.

Méthode HTTP et URL :

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Corps JSON de la requête :


{
  "displayName": "DISPLAY_NAME",
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "TYPE_OF_INTEGRATION"
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/project-id/keys/6Ldqgs0UAAAAAIn4k7YxEB-LwEh5S9-Gv6IIWB8m",
  "displayName": "DISPLAY_NAME",
  "webSettings": {
    "allowAllDomains": false,
    "allowedDomains": [
      DOMAINS
    ],
    "allowAmpTraffic": false,
    "integrationType": "SCORE",
    "challengeSecurityPreference": "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED"
  }
}

(Facultatif) Rechercher une ancienne clé secrète reCAPTCHA

Si vous souhaitez intégrer une application tierce qui n'utilise pas l'API reCAPTCHA Enterprise, vous avez besoin de l'ancienne clé secrète.

Pour chaque clé de site que vous créez, reCAPTCHA crée une ancienne clé secrète reCAPTCHA (ancienne clé secrète), que vous pouvez utiliser avec votre application tierce.

Pour trouver l'ancienne clé secrète, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page reCAPTCHA.

    Accéder à reCAPTCHA

  2. Dans la section Clés reCAPTCHA, recherchez la clé reCAPTCHA que vous avez créée et cliquez dessus.

  3. Sur la page Informations sur la clé, sous l'onglet Intégration, cliquez sur Utiliser l'ancienne clé. Une boîte de dialogue s'ouvre avec des instructions sur l'utilisation de l'ancienne clé secrète.

Étapes suivantes