Instala claves basadas en puntuaciones en sitios web

En esta página, se explica cómo instalar una clave basada en la puntuación sin desafíos en tu sitio web. Con una clave basada en puntuaciones, puedes incluir reCAPTCHA en todo tu sitio sin requerir que los usuarios resuelvan los desafíos de CAPTCHA.

Cuando se instala una clave basada en puntuaciones, reCAPTCHA envía una respuesta encriptada, el token de respuesta de reCAPTCHA (también conocido como token), cuando un usuario final activa una interacción. Después de generar el token, debes crear una evaluación en un plazo de dos minutos para recibir una puntuación por cada solicitud. En función de la puntuación, puedes comprender el nivel de riesgo que representan las interacciones del usuario y configurar una respuesta (o respuestas) adecuada. Además, la clave basada en la puntuación puede recopilar telemetría de la actividad de los bots para generar una advertencia anticipada contra ataques o objetivos nuevos.

Para mejorar el modelo de riesgo de reCAPTCHA, te recomendamos que incluyas reCAPTCHA en cada página de tu sitio porque ayuda a comprender cómo los usuarios reales y bots realizan la transición entre diferentes páginas y acciones.

Antes de comenzar

  1. Prepara tu entorno para reCAPTCHA.

  2. Crea una clave basada en la puntuación.

    Como alternativa, puedes copiar el ID de una clave basada en la puntuación existente si realizas uno de los siguientes pasos:

    • Para copiar el ID de una clave existente desde la consola de Google Cloud, haz lo siguiente:

      1. Ve a la página de reCAPTCHA.

        Ve a reCAPTCHA

      2. En la lista de claves de reCAPTCHA, mantén el puntero sobre la clave que deseas copiar y, luego, haz clic en .
    • Para copiar el ID de una clave existente con la API de REST, usa el método projects.keys.list.
    • Para copiar el ID de una clave existente con la CLI de gcloud, usa el comando gcloud recaptcha keys list.

Coloca la clave en tu sitio web

reCAPTCHA funciona mejor cuando tiene contexto sobre las interacciones en tu sitio. reCAPTCHA supervisa el comportamiento legítimo y abusivo para obtener información sobre las interacciones en tu sitio.

Para obtener los mejores resultados, instala las claves basadas en puntuación en los siguientes lugares de tu sitio web:

  • Formularios
  • Acciones (interacciones del usuario)
  • En segundo plano de todas las páginas web

Las claves basadas en puntuaciones no interrumpen a los usuarios, por lo que puedes ejecutar reCAPTCHA con claves basadas en puntuaciones cuando sea necesario sin afectar las conversiones.

Integra la clave con el frontend

Te recomendamos que agregues la verificación de reCAPTCHA a una interacción del usuario que se deba verificar. Por ejemplo, si deseas verificar la acción de envío de un formulario, debes agregar la verificación de reCAPTCHA en la acción de envío.

Según el lugar en el que quieras agregar la verificación de reCAPTCHA, elige la opción adecuada:

Puedes ver un ejemplo de cada opción en el código fuente del sitio web de demostración.

Cómo agregar una verificación en una interacción del usuario

  1. Para cargar reCAPTCHA en tu página web, agrega la API de JavaScript con tu clave basada en puntuación dentro del elemento <head></head> de tu página web.

        <head>
        <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
        ....
        </head>
      

    reCAPTCHA usa el idioma del navegador de forma predeterminada. Si deseas especificar un idioma diferente, usa el atributo hl=LANG en tu secuencia de comandos. Por ejemplo, para usar francés, especifica lo siguiente: <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Para obtener información sobre los idiomas admitidos, consulta los códigos de idioma de reCAPTCHA.

    Si deseas especificar una ubicación para la insignia, usa badge=LOCATION como un parámetro de consulta en la etiqueta de secuencia de comandos. Por ejemplo, www.google.com/recaptcha/enterprise.js?sitekey=KEY_ID&badge=bottomleft De forma predeterminada, la ubicación se establece en bottomright. Los otros valores posibles son inline y bottomleft.

  2. Para agregar la verificación de reCAPTCHA en una interacción del usuario, haz lo siguiente:

    1. Para asegurarte de que grecaptcha.enterprise.execute() se ejecute después de que se cargue la biblioteca de reCAPTCHA, usa grecaptcha.enterprise.ready().

    2. Llama a grecaptcha.enterprise.execute() en cada interacción que quieras proteger con tu clave basada en la puntuación. Especifica un nombre significativo para una interacción del usuario en el parámetro action. Para obtener más orientación, consulta Acciones.

      En el siguiente ejemplo, se muestra cómo llamar a grecaptcha.enterprise.execute() en una acción de acceso:

      <script>
      function onClick(e) {
        e.preventDefault();
        grecaptcha.enterprise.ready(async () => {
          const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'LOGIN'});
          // IMPORTANT: The 'token' that results from execute is an encrypted response sent by
          // reCAPTCHA to the end user's browser.
          // This token must be validated by creating an assessment.
          // See https://cloud.google.com/recaptcha/docs/create-assessment
        });
      }
      </script>

      grecaptcha.enterprise.execute() genera un token como se muestra en el siguiente ejemplo:

      03AGdBq27tvcDrfiRuxQnyKs-SarXVzPODXLlpiwNsLqdm9BSQQRtxhkD-Wv6l2vBSnL_JQd80FZp3IeeF_TxNMrqhyQchk7hmg_ypDctt_F5RTr9zNO9TSDX3Fy0qHQTuaM9E3hrAkA1v1l7D-fCreg7uq8zoudfh1ZRmN49-2iAMAn4E8_ff-nmlLTNGVZmCSyeze-5xM24pM_JhhUVcCMIDKYtDUnr2imxg2ubIqMscCZGUtdXNUO_LRSzuwWDlLyAr3V2nVn29Z48PQa2QzbymEXzO9pCtoGQmY7kiZ8ILfD9DAJSSyUTMwJXVJptUeBmLM341fq_STYZBbPQJ0zYOEDvJoFsIwGMfuphkDet0nK56b0mkzaL8RCRy2oK31Mcx6n3PhGkCnQ6QIhiV5ZVmV1Hz9M3w99zYw6ekc3wPCNMZ6V6x1ApVpIk3reFfByRQ0C0_pRWwbKZHLXQ_oSTI1UI7kyH1VeXngsJAx2l7zcp0hQNipajC4YwL7Jb8X4cCD0NeiaY1YCrI5j87mK5axcMikq460I4niIFeDBlHGF-ndqu3CJstosAur-C_x827f-dPPjA9Vrw8MDb3x4KUb0vbA8xE9mJxPYGY0rPCR27vJ38Voa7DjEBGX9c-iufv5_wfj-yIfIAHy0iijnRLI0CVkWF2-iPdWv7LnkTwL3WKbF_MrEGZXmtyLX9dEZArfxmToeMuSdYkfikkgR2-k4Xzxlz15RbHJuWSAYqEyTTnpUXmOvDuTN92b0kYqbRelcLUI_Shm-8dq9e-L7K6YWQv32gV6NukZKY15dyrJaW10frBgTOGSTTpIyB7MNEL8S27WjWtOb-zWsgimIhoRNfS8BiJWkmK4gTj51m7Wur-qsDbHgV6gXlMvjJs_B7oXX-mKsKhY9ACtwukotBelGYQOvf1RDHjH3Yi1RDfELBY6AkwUK4tq8cACVGpCwa0gKUo-sbORTsGu_r7VTzYo1AaZD5HV4XUm8yoqszel6DmIfkJcI7PfzzvfUJuvMQ1itZSzpzuth3glbKBYsIjbKqG-q8cxtZ7u0l32j46ASo2zlCJWUjwP3W1P7MUenEoIZtjlyTB_tT6Fk8RxGgRv3oLP7NPFJGs9ZGOAl6tBHpZF8Y_FqEOCMKtBl2JYOE5h6_Es3buSdiMm7mtLr64pboGiEColF1vbVvYpyaaqGFPXBM6ekZSXEXLAI0_7rj_fCLgnB21KXfac95vZbM9vyJCASvDcWKwqajQwy5aGMNe9GtbMogYbZfz5UGWAIi24Vd8KSv3qKOOwvzbcw4H0HYdsBXA
      

  3. Después de generar el token, envía el token de reCAPTCHA a tu backend y crea una evaluación en un plazo de dos minutos.

    En el caso de las integraciones de WAF, si integras una clave de token de acción, debes adjuntar el token a un encabezado de solicitud predefinido y no es necesario que crees una evaluación. Para obtener más información, consulta Implementa tokens de acción de reCAPTCHA.

Agrega reCAPTCHA a un botón HTML

  1. Para cargar reCAPTCHA en tu página web, agrega la API de JavaScript con tu clave basada en puntuación dentro del elemento <head></head> de tu página web.

        <head>
        <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
        ....
        </head>
      

    reCAPTCHA usa el idioma del navegador de forma predeterminada. Si deseas especificar un idioma diferente, usa el atributo hl=LANG en tu secuencia de comandos. Por ejemplo, para usar francés, especifica lo siguiente: <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Para obtener información sobre los idiomas admitidos, consulta los códigos de idioma de reCAPTCHA.

  2. Para agregar reCAPTCHA a un botón HTML simple, haz lo siguiente:

    1. Define una función de devolución de llamada para controlar el token.

      <script>
         function onSubmit(token) {
           document.getElementById("demo-form").submit();
         } // Use `requestSubmit()` for extra features like browser input validation.
      </script>

      Para obtener más información, consulta el método requestSubmit().

    2. Agrega atributos al botón HTML.

      <button class="g-recaptcha"
      data-sitekey="KEY_ID"
      data-callback='onSubmit'
      data-action='submit'>Submit</button>

      Si deseas especificar una ubicación para la insignia, usa el atributo data-badge=LOCATION en el elemento que tiene class=g-recaptcha. De forma predeterminada, la ubicación se establece en bottomright. Los otros valores posibles son inline y bottomleft.

    3. Cuando se usa este botón para enviar un formulario en tu sitio, el parámetro POST g-recaptcha-response contiene el token de respuesta.

  3. Después de generar el token, envía el token de reCAPTCHA a tu backend y crea una evaluación en un plazo de dos minutos.

    En el caso de las integraciones de WAF, si integras una clave de token de acción, debes adjuntar el token a un encabezado de solicitud predefinido y no es necesario que crees una evaluación. Para obtener más información, consulta Implementa tokens de acción de reCAPTCHA.

¿Qué sigue?