Utilizzo del CAPTCHA nei moduli adattivi using-captcha-in-adaptive-forms

Versione
Collegamento articolo
AEM as a Cloud Service
Fai clic qui
AEM 6.5
Questo articolo

Adobe consiglia di utilizzare l'acquisizione dati moderna ed estensibile Componenti coreper la creazione di un nuovo Forms adattivoo l'aggiunta di Forms adattivo alle pagine AEM Sites. Questi componenti rappresentano un progresso significativo nella creazione di Forms adattivi, garantendo esperienze utente straordinarie. Questo articolo descrive un approccio precedente all’authoring di Forms adattivi utilizzando i componenti di base.

Il CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) è un programma comunemente utilizzato nelle transazioni online per distinguere tra esseri umani e programmi o bot automatizzati. Rappresenta una sfida e valuta la risposta dell’utente per determinare se si tratta di un essere umano o di 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 avere scopi dannosi.

AEM Forms supporta il CAPTCHA nei moduli adattivi. Puoi utilizzare il servizio reCAPTCHA di Google per implementare CAPTCHA.

NOTE
  • AEM Forms supporta reCAPTCHA v2 ed enterprise. Qualsiasi altra versione non è supportata.
  • Il CAPTCHA nei moduli adattivi non è supportato in modalità offline nell’app AEM Forms.

Configurare il servizio reCAPTCHA di Google per Adaptive Forms google-reCAPTCHA

Gli utenti di AEM Forms possono utilizzare il servizio reCAPTCHA di Google per implementare CAPTCHA nei moduli adattivi. Offre funzionalità CAPTCHA avanzate per proteggere il sito. Per ulteriori informazioni sul funzionamento di reCAPTCHA, vedere Google reCAPTCHA. Il servizio reCAPTCHA, che include reCAPTCHA v2 e reCAPTCHA Enterprise, è integrato in AEM Forms. In base alle tue esigenze puoi configurare il servizio reCAPTCHA per abilitare:

reCAPTCHA

Configurare reCAPTCHA Enterprise steps-to-implement-reCAPTCHA-enterprise-in-forms

  1. Crea un progetto reCAPTCHA Enterprise abilitato con reCAPTCHA Enterprise API.

  2. Ottieni l'ID progetto.

  3. Creare una chiave API e una chiave sito per siti Web.

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

    1. Vai a Strumenti > Generale > Browser configurazioni. Per ulteriori informazioni, vedere la documentazione del browser di configurazione.

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

      1. Nel Browser configurazioni, selezionare la cartella global e selezionare Proprietà.
      2. Nella finestra di dialogo Proprietà di configurazione, abilita Configurazioni cloud.
      3. Seleziona Salva e chiudi per salvare la configurazione e uscire dalla finestra di dialogo.
    3. Nel browser configurazioni, selezionare Crea.

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

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

  5. Configura il servizio cloud per reCAPTCHA Enterprise.

    1. Nell'istanza Autore Experience Manager, vai a strumenti-1 > Cloud Service.

    2. Selezionare reCAPTCHA. Viene visualizzata la pagina Configurazioni. Seleziona il contenitore di configurazione creato nel passaggio precedente e seleziona Crea.

    3. Seleziona la versione come Enterprise reCAPTCHA e specifica Nome; ID progetto, Chiave sito e Chiave API (ottenuta nei passaggi 2 e 3) per il servizio Enterprise reCAPTCHA.

    4. Selezionare il tipo di chiave. Il tipo di chiave deve essere uguale a quello configurato nel progetto cloud Google, ad esempio Chiave sito di casella di controllo o Chiave sito basata su punteggio.

    5. Specifica un punteggio di soglia nell'intervallo 0-1 (Fai clic per ulteriori informazioni sul punteggio). I punteggi superiori o uguali ai punteggi di soglia identificano l’interazione umana, altrimenti considerata interazione da bot.

      Nota:

      • Gli autori dei moduli possono specificare un punteggio nell’intervallo idoneo per l’invio ininterrotto di moduli.
    6. Seleziona Crea per creare la configurazione del servizio cloud.

    7. Nella finestra di dialogo Modifica componente, specifica il nome, l’ID progetto, la chiave del sito e la chiave API (ottenuta nei passaggi 2 e 3), seleziona il tipo di chiave e immetti il punteggio di soglia. Seleziona Salva impostazioni, quindi seleziona OK per completare la configurazione.

Una volta abilitato, il servizio reCAPTCHA Enterprise è disponibile per l’utilizzo in moduli adattivi. Vedi utilizzo del CAPTCHA nei moduli adattivi.

reCAPTCHA Enterprise

Configurare Google reCAPTCHA v2 steps-to-implement-reCAPTCHA-v2-in-forms

  1. Ottieni la coppia di chiavi API reCAPTCHA da Google. Include una chiave del sito e una chiave segreta.

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

    1. Vai a Strumenti > Generale > Browser configurazioni. Per ulteriori informazioni, vedere la documentazione del browser di configurazione.

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

      1. Nel Browser configurazioni, selezionare la cartella global e selezionare Proprietà.

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

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

    3. Nel browser configurazioni, selezionare Crea.

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

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

  3. Configura il servizio cloud per reCAPTCHA v2.

    1. Nell'istanza dell'autore AEM, vai a strumenti-1 > Cloud Service.
    2. Selezionare reCAPTCHA. Viene visualizzata la pagina Configurazioni. Seleziona il contenitore di configurazione creato nel passaggio precedente e seleziona Crea.
    3. Seleziona la versione come reCAPTCHA v2, specifica il nome, la chiave del sito e la chiave segreta per il servizio reCAPTCHA (ottenuti nel passaggio 1), quindi seleziona Crea per creare la configurazione del servizio cloud.
    4. Nella finestra di dialogo Modifica componente, specifica il sito e le chiavi segrete ottenuti nel passaggio 1. Seleziona Salva impostazioni, quindi seleziona OK per completare la configurazione.

    Una volta configurato, il servizio reCAPTCHA è disponibile per l’utilizzo nei moduli adattivi. Per ulteriori informazioni, vedi utilizzo del CAPTCHA nei moduli adattivi.

reCAPTCHA v2

Utilizzare reCAPTCHA nei moduli adattivi using-reCAPTCHA

Per utilizzare reCAPTCHA nei moduli adattivi:

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

    note note
    NOTE
    Assicurati che il contenitore di configurazione selezionato durante la creazione del modulo adattivo contenga il servizio cloud reCAPTCHA. Puoi anche modificare le proprietà dei moduli adattivi per cambiare il contenitore di configurazione associato al modulo.
  2. Dal browser componenti, trascina il componente Captcha nel modulo adattivo.

    note note
    NOTE
    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.
    note note
    NOTE
    Il Captcha è sensibile al tempo e scade tra circa un minuto. Pertanto, si consiglia di inserire il componente Captcha subito prima del pulsante Invia nel modulo adattivo.
  3. Seleziona il componente Captcha aggiunto e seleziona cmppr per modificarne le proprietà.

  4. Specificate un titolo per il widget CAPTCHA. Il valore predefinito è Captcha. Selezionare Nascondi titolo se non si desidera visualizzare il titolo.

  5. Dall'elenco a discesa del servizio Captcha, selezionare reCAPTCHA per abilitare il servizio reCAPTCHA se è stato configurato come descritto nel servizio reCAPTCHA da Google.

  6. Seleziona una configurazione dal menu a discesa Impostazioni.

  7. Se la configurazione selezionata include la versione reCAPTCHA Enterprise:

    1. È possibile selezionare la configurazione cloud reCAPTCHA con tipo chiave come casella di controllo. In tasto casella di controllo, digita il messaggio di errore personalizzato come messaggio in linea se la convalida captcha non riesce. È possibile selezionare le dimensioni come Normale e Compatta.

    2. È possibile selezionare la configurazione cloud reCAPTCHA con tipo chiave come punteggio basato. In chiave basata su punteggio, il messaggio di errore personalizzato viene visualizzato come messaggio a comparsa se la convalida captcha non riesce.

    3. Quando si seleziona un Riferimento associazione, i dati inviati sono dati associati, altrimenti si tratta di dati non associati. Di seguito sono riportati alcuni esempi XML di dati non associati e dati associati (con riferimento di associazione come SSN) rispettivamente, quando un modulo viene inviato.

      code language-xml
          <?xml version="1.0" encoding="UTF-8" standalone="no"?>
          <afData>
          <afUnboundData>
              <data>
                  <captcha16820607953761>
                      <captchaType>reCAPTCHAEnterprise</captchaType>
                      <captchaScore>0.9</captchaScore>
                  </captcha16820607953761>
              </data>
          </afUnboundData>
          <afBoundData>
              <Root
                  xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                  <PersonalDetails>
                      <SSN>371237912</SSN>
                      <FirstName>Sarah </FirstName>
                      <LastName>Smith</LastName>
                  </PersonalDetails>
                  <OtherInfo>
                      <City>California</City>
                      <Address>54 Residency</Address>
                      <State>USA</State>
                      <Zip>123112</Zip>
                  </OtherInfo>
              </Root>
          </afBoundData>
          <afSubmissionInfo>
              <stateOverrides/>
              <signers/>
              <afPath>/content/dam/formsanddocuments/captcha-form</afPath>
              <afSubmissionTime>20230608034928</afSubmissionTime>
          </afSubmissionInfo>
          </afData>
      
      code language-xml
          <?xml version="1.0" encoding="UTF-8" standalone="no"?>
          <afData>
          <afUnboundData>
              <data/>
          </afUnboundData>
          <afBoundData>
              <Root
                  xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                  <PersonalDetails>
                      <SSN>
                          <captchaType>reCAPTCHAEnterprise</captchaType>
                          <captchaScore>0.9</captchaScore>
                      </SSN>
                      <FirstName>Sarah</FirstName>
                      <LastName>Smith</LastName>
                  </PersonalDetails>
                  <OtherInfo>
                      <City>California</City>
                      <Address>54 Residency</Address>
                      <State>USA</State>
                      <Zip>123112</Zip>
                  </OtherInfo>
              </Root>
          </afBoundData>
          <afSubmissionInfo>
              <stateOverrides/>
              <signers/>
              <afPath>/content/dam/formsanddocuments/captcha-form</afPath>
              <afSubmissionTime>20230608035111</afSubmissionTime>
          </afSubmissionInfo>
          </afData>
      

    Se la configurazione selezionata include la versione reCAPTCHA v2:

    1. Selezionare la dimensione come Normale o Compatta per il widget reCAPTCHA. È inoltre possibile selezionare l'opzione Invisibile per visualizzare la richiesta CAPTCHA solo se è presente un'attività sospetta. Il badge protetto da reCAPTCHA, visualizzato di seguito, viene visualizzato nei moduli protetti.

      Google protetto da badge reCAPTCHA

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

  8. Salva le proprietà.

NOTE
Non selezionare Default dal menu a discesa del servizio Captcha poiché il servizio AEM CAPTCHA predefinito è obsoleto.

Mostrare o nascondere il componente CAPTCHA in base alle regole show-hide-captcha

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

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

Selezionare il campo Valore valuta nel modulo e creare le regole seguenti:

Mostra o nascondi regole

NOTE
  • Se selezioni la configurazione reCAPTCHA v2 con dimensioni pari a Invisible o le chiavi basate su punteggio Enterprise reCAPTCHA, l'opzione mostra/nascondi non è applicabile.

Convalida CAPTCHA validate-captcha

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

Convalida CAPTCHA all’invio del modulo validation-form-submission

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

  1. Selezionare il componente CAPTCHA e selezionare cmppr per visualizzare le proprietà del componente.
  2. Nella sezione Convalida CAPTCHA, seleziona Convalida CAPTCHA all'invio del modulo.
  3. Seleziona Fine per salvare le proprietà del componente.

Convalida CAPTCHA per azioni e condizioni dell’utente validate-captcha-user-action

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

  1. Selezionare il componente CAPTCHA e selezionare cmppr per visualizzare le proprietà del componente.

  2. Nella sezione Convalida CAPTCHA, selezionare Convalida CAPTCHA per un'azione utente.

  3. Seleziona Fine per salvare le proprietà del componente.

    note note
    NOTE
    Se selezioni la configurazione reCAPTCHA v2 con dimensioni pari a Invisible o le chiavi basate su punteggio Enterprise reCAPTCHA, l'opzione Captcha valido in un'azione utente non è applicabile.

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

Di seguito è riportato un esempio di API ValidateCAPTCHA 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 l'API ValidateCAPTCHA 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: utilizzare l'API ValidateCAPTCHA Experience Manager Forms per convalidare CAPTCHA tramite un'azione di invio personalizzata

Per utilizzare l'API ValidateCAPTCHA per convalidare il CAPTCHA tramite un'azione di invio personalizzata, eseguire la procedura seguente:

  1. Aggiungere lo script che include l'API ValidateCAPTCHA all'azione di invio personalizzata. Per ulteriori informazioni sulle azioni di invio personalizzate, vedere Creare un'azione di invio personalizzata per Forms adattivo.
  2. Seleziona il nome dell'azione di invio personalizzata dall'elenco a discesa Azione di invio nelle proprietà Invio di un modulo adattivo.
  3. Seleziona Invia. Il CAPTCHA viene convalidato in base alle condizioni definite nell'API ValidateCAPTCHA dell'azione di invio personalizzata.

Opzione 2: utilizzare l'API ValidateCAPTCHA Experience Manager Forms per convalidare CAPTCHA in un'azione utente prima di inviare il modulo

È inoltre possibile richiamare l'API ValidateCAPTCHA applicando regole a un componente in un modulo adattivo.

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

Nella figura seguente viene illustrato come richiamare un servizio facendo clic su un pulsante Convalida CAPTCHA:

Convalida CAPTCHA

È possibile richiamare il servlet personalizzato che include l'API ValidateCAPTCHA 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.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2