Utilizzare CAPTCHA in Forms adattivo

CAPTCHA (Test di Turing Pubblico Completamente Automatizzato per dire Computer e Humans Apart) è un programma comunemente utilizzato nelle transazioni online per distinguere tra umani e programmi automatizzati o bot. Rappresenta una sfida e valuta la risposta dell'utente per determinare se si tratta di un essere umano o un bot che interagisce con il sito. Impedisce all'utente di procedere se il test non riesce e contribuisce a rendere sicure le transazioni online impedendo ai bot di pubblicare spam o scopi dannosi.

AEM Forms supporta CAPTCHA in Adaptive Forms. Puoi utilizzare il servizio reCAPTCHA di Google per implementare CAPTCHA.

NOTA
  • AEM Forms supportano solo reCaptcha v2. Qualsiasi altra versione non è supportata.
  • CAPTCHA in Adaptive Forms non è supportato in modalità offline su AEM Forms app.

Configurare il servizio ReCAPTCHA da Google

Gli autori di moduli possono utilizzare il servizio reCAPTCHA di Google per implementare il CAPTCHA in Adaptive Forms. Offre funzionalità CAPTCHA avanzate per proteggere il tuo sito. Per ulteriori informazioni sul funzionamento di reCAPTCHA, consulta Google reCAPTCHA.

Recaptcha

Per implementare il servizio reCAPTCHA in AEM Forms:

  1. Recuperare Coppia di chiavi API reCAPTCHA da Google. Include una chiave del sito e un segreto.

  2. Crea un contenitore di configurazione per i servizi cloud.

    1. Vai a Strumenti > Generale > Browser di configurazione.

    2. Effettua le seguenti operazioni per abilitare la cartella globale per le configurazioni cloud o salta questo passaggio per creare e configurare un’altra cartella per le configurazioni del servizio cloud.

      1. Nel browser di configurazione, seleziona la globale tocca e fai clic su Proprietà.

      2. Nella finestra di dialogo Proprietà configurazione, abilita Configurazioni cloud.

      3. Tocca Salva e chiudi per salvare la configurazione e uscire dalla finestra di dialogo.

    3. Nel browser di configurazione, tocca Crea.

    4. Nella finestra di dialogo Crea configurazione , specifica un titolo per la cartella e abilita Configurazioni cloud.

    5. Tocca Crea per creare la cartella abilitata per le configurazioni del servizio cloud.

  3. Configura il servizio cloud per reCAPTCHA.

    1. Nell’istanza di authoring di Experience Manager, vai a tools-1 > Cloud Services.
    2. Tocca reCAPTCHA. Viene visualizzata la pagina Configurazioni . Seleziona il contenitore di configurazione creato nel passaggio precedente e tocca Crea.
    3. Specifica nome, chiave del sito e chiave segreta per il servizio reCAPTCHA e tocca Crea per creare la configurazione del servizio cloud.
    4. Nella finestra di dialogo Modifica componente , specifica il sito e le chiavi segrete ottenute nel passaggio 1. Tocca Salva impostazioni quindi tocca OK per completare la configurazione.

    Una volta configurato il servizio reCAPTCHA, è disponibile per l'uso in Forms adattivo. Per ulteriori informazioni, consulta Utilizzo del CAPTCHA in Forms adattivo.

Utilizzare CAPTCHA in Forms adattivo

Per utilizzare CAPTCHA in Forms adattivo:

  1. Aprire un modulo adattivo in modalità di modifica.

    NOTA

    Assicurati che il contenitore di configurazione selezionato durante la creazione del modulo adattivo contenga il servizio cloud reCAPTCHA. È inoltre possibile modificare le proprietà del modulo adattivo per modificare il contenitore di configurazione associato al modulo.

  2. Dal browser Componenti, trascina la Captcha sul modulo adattivo.

    NOTA

    L’utilizzo di più componenti Captcha in un modulo adattivo non è supportato. Inoltre, si sconsiglia di utilizzare il CAPTCHA in un pannello contrassegnato per il caricamento lento o in un frammento.

    NOTA

    Captcha è sensibile al tempo e scade tra circa un minuto. Pertanto, si consiglia di posizionare il componente Captcha immediatamente prima del pulsante Invia nel modulo adattivo.

  3. Seleziona il componente Captcha aggiunto e tocca cmppr per modificarne le proprietà.

  4. Specifica un titolo per il widget CAPTCHA. Il valore predefinito è Captcha. Seleziona Nascondi titolo se non si desidera che il titolo venga visualizzato.

  5. Da Servizio Captcha a discesa, seleziona reCaptcha per abilitare il servizio reCAPTCHA se lo hai configurato come descritto in Servizio ReCAPTCHA di Google. Seleziona una configurazione dal menu a discesa Impostazioni .

  6. Seleziona il tipo come Normale o Compatto per il widget reCAPTCHA. Puoi anche selezionare la Invisibile opzione per mostrare la sfida CAPTCHA solo nel caso di un'attività sospetta. Nei moduli protetti viene visualizzato il badge reCAPTCHA protetto, visualizzato di seguito.

    Google protetto dal badge reCAPTCHA

    NOTA

    Non selezionare Predefinito dal menu a discesa del servizio Captcha , poiché il servizio Experience Manager CAPTCHA predefinito è obsoleto.

  7. Salva le proprietà.

Il servizio reCAPTCHA è abilitato nel modulo adattivo. Puoi visualizzare l’anteprima del modulo e vedere come funziona il CAPTCHA.

Mostra o nasconde il componente CAPTCHA in base alle regole

Puoi selezionare di mostrare o nascondere il componente CAPTCHA in base alle regole applicate a un componente in un modulo adattivo. Tocca il componente, seleziona modifica regole, e tocca Crea per creare una regola. Per ulteriori informazioni sulla creazione delle regole, consulta Editor regole.

Ad esempio, il componente CAPTCHA deve essere visualizzato in un Modulo adattivo solo se il campo Valore valuta del modulo ha un valore superiore a 25000.

Tocca Valore valuta nel modulo e creare le regole seguenti:

Mostrare o nascondere le regole

Convalida CAPTCHA

È possibile convalidare il CAPTCHA in un modulo adattivo sia quando si invia il modulo sia basando la convalida CAPTCHA sulle azioni e condizioni dell’utente.

Convalida CAPTCHA durante l’invio del modulo

Per convalidare automaticamente un CAPTCHA quando si invia un modulo adattivo:

  1. Tocca il componente CAPTCHA e seleziona cmppr per visualizzare le proprietà del componente.
  2. In Convalida CAPTCHA sezione , seleziona Convalida CAPTCHA all’invio del modulo.
  3. Tocca Fine per salvare le proprietà del componente.

Convalida CAPTCHA sulle azioni e condizioni dell’utente

Per convalidare un CAPTCHA in base a condizioni e azioni dell’utente:

  1. Tocca il componente CAPTCHA e seleziona cmppr per visualizzare le proprietà del componente.
  2. In Convalida CAPTCHA sezione , seleziona Convalida CAPTCHA in un’azione dell’utente.
  3. Tocca Fine per salvare le proprietà del componente.

Experience Manager Forms fornisce ValidateCAPTCHA API per convalidare CAPTCHA utilizzando condizioni predefinite. Puoi richiamare l’API utilizzando un’azione di invio personalizzata o definendo le regole sui componenti in un modulo adattivo.

Di seguito è riportato un esempio di ValidateCAPTCHA API per convalidare CAPTCHA utilizzando condizioni predefinite:

if (slingRequest.getParameter("numericbox1614079614831").length() >= 5) {
     GuideCaptchaValidatorProvider apiProvider = sling.getService(GuideCaptchaValidatorProvider.class);
        String formPath = slingRequest.getResource().getPath();
        String captchaData = slingRequest.getParameter(GuideConstants.GUIDE_CAPTCHA_DATA);
        if (!apiProvider.validateCAPTCHA(formPath, captchaData).isCaptchaValid()){
            response.setStatus(400);
            return;
        }
    }

L’esempio indica che il ValidateCAPTCHA L’API convalida il CAPTCHA nel modulo solo se il numero di cifre nella casella numerica specificata dall’utente durante la compilazione del modulo è maggiore di 5.

Opzione 1: Utilizzo Experience Manager Forms API ValidateCAPTCHA per convalidare CAPTCHA utilizzando un’azione di invio personalizzata

Esegui i seguenti passaggi per utilizzare il ValidateCAPTCHA API per convalidare CAPTCHA utilizzando un’azione di invio personalizzata:

  1. Aggiungi lo script che include ValidateCAPTCHA API per l’azione di invio personalizzata. Per ulteriori informazioni sulle azioni di invio personalizzate, consulta Creare un’azione di invio personalizzata per Adaptive Forms.
  2. Seleziona il nome dell’azione di invio personalizzata dal menu Invia azione elenco a discesa in Invio proprietà di un modulo adattivo.
  3. Tocca Invia. Il CAPTCHA viene convalidato in base alle condizioni definite in ValidateCAPTCHA API dell’azione di invio personalizzata.

Opzione 2: Utilizzo Experience Manager Forms API ValidateCAPTCHA per convalidare il CAPTCHA in un’azione dell’utente prima di inviare il modulo

Puoi anche richiamare ValidateCAPTCHA Applicando regole su un componente in un modulo adattivo.

Ad esempio, aggiungi un Convalida CAPTCHA in un modulo adattivo e crea una regola per richiamare un servizio facendo clic su un pulsante.

La figura seguente illustra come richiamare un servizio al clic di un Convalida CAPTCHA pulsante:

Convalida CAPTCHA

Puoi richiamare il servlet personalizzato che include ValidateCAPTCHA API utilizzando l’editor di regole e abilitare o disabilitare il pulsante di invio del modulo adattivo in base al risultato della convalida.

Allo stesso modo, puoi utilizzare l’editor di regole per includere un metodo personalizzato per convalidare il CAPTCHA in un modulo adattivo.

Aggiungi servizi CAPTCHA personalizzati

Experience Manager Forms fornisce reCAPTCHA come servizio CAPTCHA. Tuttavia, puoi aggiungere un servizio personalizzato da visualizzare nel Servizio CAPTCHA elenco a discesa.

Di seguito è riportato un esempio di implementazione dell’interfaccia per aggiungere un servizio CAPTCHA aggiuntivo al modulo adattivo:

package com.adobe.aemds.guide.service;

import org.osgi.annotation.versioning.ConsumerType;

/**
 * An interface to provide captcha validation at server side in Adaptive Form
 * This interface can be used to provide custom implementation for different captcha services.
 */
@ConsumerType
public interface GuideCaptchaValidator {
    /**
     * This method should define the actual validation logic of the captcha
     * @param captchaPropertyNodePath path to the node with CAPTCHA configurations inside form container
     * @param userResponseToken  The user response token provided by the CAPTCHA from client-side
     *
     * @return  {@link GuideCaptchaValidationResult} validation result of the captcha
     */
     GuideCaptchaValidationResult validateCaptcha(String captchaPropertyNodePath, String userResponseToken);

    /**
     * Returns the name of the captcha validator. This should be unique among the different implementations
     * @return  name of the captcha validator
     */
     String getCaptchaValidatorName();
}

captchaPropertyNodePath si riferisce al percorso della risorsa del componente CAPTCHA nell’archivio Sling. Utilizzare questa proprietà per includere dettagli specifici del componente CAPTCHA. Ad esempio: captchaPropertyNodePath include informazioni per la configurazione cloud reCAPTCHA configurata sul componente CAPTCHA. Le informazioni sulla configurazione cloud forniscono Chiave del sito e Chiave segreta impostazioni per l'implementazione del servizio reCAPTCHA.

userResponseToken si riferisce al g_recaptcha_response che viene generato dopo la risoluzione di un CAPTCHA in un modulo.

Modificare il dominio del servizio reCAPTCHA

Il servizio reCAPTCHA utilizza https://www.recaptcha.net/ come dominio predefinito. Puoi modificare le impostazioni da impostare https://www.google.com/ o qualsiasi nome di dominio personalizzato per il caricamento, il rendering e la convalida del servizio reCAPTCHA.

Imposta la af.cloudservices.ricontcha.domain proprietà Configurazione del canale web per moduli adattivi e comunicazioni interattive configurazione da specificare https://www.google.com/ o qualsiasi altro nome di dominio personalizzato. Il seguente file JSON mostra un esempio:

{
  "af.cloudservices.recaptcha.domain": "https://www.google.com/"
}

Per impostare i valori di una configurazione, Generare configurazioni OSGi utilizzando l’SDK AEMe distribuire la configurazione all'istanza di Cloud Service.

In questa pagina