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 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 scopi dannosi.
AEM Forms supporta il CAPTCHA in Adaptive Forms. Puoi utilizzare il servizio reCAPTCHA di Google per implementare CAPTCHA.
Gli autori di moduli possono utilizzare il servizio reCAPTCHA di Google per implementare CAPTCHA in Adaptive Forms. Offre funzionalità CAPTCHA avanzate per proteggere il sito. Per ulteriori informazioni sul funzionamento di reCAPTCHA, consulta Google reCAPTCHA.
Per implementare il servizio reCAPTCHA in AEM Forms:
Ottenere coppia di chiavi API reCAPTCHA da Google. Include una chiave del sito e un segreto.
Crea un contenitore di configurazione per i servizi cloud.
Vai a Strumenti > Generale > Browser configurazioni.
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.
Nel browser configurazioni, seleziona la globale cartella e tocca Proprietà.
Nella finestra di dialogo Proprietà di configurazione, abilita Configurazioni cloud.
Tocca Salva e chiudi per salvare la configurazione e uscire dalla finestra di dialogo.
Nel browser configurazioni, tocca Crea.
Nella finestra di dialogo Crea configurazione, specifica un titolo per la cartella e abilita Configurazioni cloud.
Tocca Crea per creare la cartella abilitata per le configurazioni del servizio cloud.
Configura il servizio cloud per reCAPTCHA.
Una volta configurato, il servizio reCAPTCHA è disponibile per l’utilizzo in Adaptive Forms. Per ulteriori informazioni, consulta Utilizzo del CAPTCHA in Adaptive Forms.
Per utilizzare il CAPTCHA in Adaptive Forms:
Apri un modulo adattivo in modalità di modifica.
Assicurati che il contenitore di configurazione selezionato durante la creazione del modulo adattivo contenga il servizio cloud reCAPTCHA. Puoi anche modificare le proprietà del modulo adattivo per cambiare il contenitore di configurazione associato al modulo.
Dal browser Componenti, trascina Captcha nel modulo adattivo.
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.
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.
Seleziona il componente Captcha aggiunto e tocca per modificarne le proprietà.
Specificate un titolo per il widget CAPTCHA. Il valore predefinito è Captcha. Seleziona Nascondi titolo se non desideri che il titolo venga visualizzato.
Dalla sezione Servizio Captcha a discesa, seleziona reCaptcha per abilitare il servizio reCAPTCHA se è stato configurato come descritto in Servizio ReCAPTCHA di Google. Seleziona una configurazione dal menu a discesa Impostazioni.
Seleziona il tipo come Normale o Compatto per il widget reCAPTCHA. È inoltre possibile selezionare Invisibile per mostrare la richiesta CAPTCHA solo nel caso di attività sospetta. Il badge protetto da reCAPTCHA, visualizzato di seguito, viene visualizzato nei moduli protetti.
Non selezionare Predefinito dall’elenco a discesa del servizio Captcha come servizio CAPTCHA di Experience Manager predefinito è obsoleto.
Salva le proprietà.
Il servizio reCAPTCHA è abilitato nel modulo adattivo. Puoi visualizzare l’anteprima del modulo e vedere il CAPTCHA che funziona.
Puoi scegliere di mostrare o nascondere il componente CAPTCHA in base alle regole applicate a un componente in un modulo adattivo. Tocca il componente, seleziona , 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 nel modulo ha un valore superiore a 25000.
Tocca il Valore valuta nel modulo e creare le regole seguenti:
È possibile convalidare il CAPTCHA in un modulo adattivo quando si invia il modulo oppure basare la convalida CAPTCHA sulle azioni e condizioni dell’utente.
Per convalidare automaticamente un CAPTCHA quando si invia un modulo adattivo:
Per convalidare un CAPTCHA in base a condizioni e azioni dell’utente:
Experience Manager Forms fornisce ValidateCAPTCHA
API 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 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 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 tramite un’azione di invio personalizzata
Per utilizzare il ValidateCAPTCHA
API per convalidare CAPTCHA tramite un’azione di invio personalizzata:
ValidateCAPTCHA
API per personalizzare l’azione di invio. Per ulteriori informazioni sulle azioni di invio personalizzate, consulta Creare un’azione di invio personalizzata per Adaptive Forms.ValidateCAPTCHA
API dell’azione di invio personalizzata.Opzione 2: utilizzo Experience Manager Forms API ValidateCAPTCHA per convalidare CAPTCHA su un’azione utente prima di inviare il modulo
Puoi anche richiamare ValidateCAPTCHA
tramite l’applicazione di regole su un componente in un modulo adattivo.
Ad esempio, puoi aggiungere un’ Convalida CAPTCHA in un modulo adattivo e crea una regola per richiamare un servizio facendo clic su un pulsante.
Nella figura seguente viene illustrato come richiamare un servizio facendo clic su un Convalida CAPTCHA pulsante:
Puoi richiamare il servlet personalizzato che include ValidateCAPTCHA
tramite l’editor di regole e abilita o disabilita 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.
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
fa riferimento 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 sulla configurazione cloud reCAPTCHA configurata sul componente CAPTCHA. Le informazioni sulla configurazione cloud forniscono Chiave sito e Chiave segreta impostazioni per l’implementazione del servizio reCAPTCHA.
userResponseToken
fa riferimento al g_recaptcha_response
che viene generato dopo la risoluzione di un CAPTCHA in un modulo.
Il servizio reCAPTCHA utilizza https://www.recaptcha.net/
come dominio predefinito. È possibile 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 il af.cloudservices.recaptcha.domain proprietà del Configurazione di un modulo adattivo e di un canale web di comunicazione interattiva 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 per AEM, e distribuire la configurazione all’istanza di Cloud Service.