reCAPTCHA gebruiken in Adaptive Forms using-reCAPTCHA-in-adaptive-forms

de Adobe adviseert gebruikend de moderne en verlengbare gegevens vangen Componenten van de Kernvoor het creëren van nieuwe Aangepaste Formsof het toevoegen van Aangepaste Forms aan de pagina's van AEM Sites. Deze componenten betekenen een aanzienlijke vooruitgang in de aanmaak van Adaptive Forms en zorgen voor indrukwekkende gebruikerservaring. In dit artikel wordt een oudere aanpak beschreven voor de auteur Adaptive Forms die gebruikmaakt van stichtingscomponenten.

Versie
Artikelkoppeling
AEM 6,5
klik hier
AEM as a Cloud Service
Dit artikel
Van toepassing op
Adaptief formulier op basis van Foundation Components.
voor Aangepaste Vorm die op de Componenten van de Kern wordt gebaseerd, klik hier.

CAPTCHA (Complete Automated Public Turing test to tell Computers and Humans Apart) is een programma dat vaak wordt gebruikt bij online transacties om onderscheid te maken tussen mensen en geautomatiseerde programma's of bots. Het stelt een uitdaging en evalueert de reactie van de gebruiker om te bepalen of het een mens of bot is die met de site communiceert. Het verhindert de gebruiker om te werk te gaan als de test ontbreekt en de hulp maakt online transacties veilig door bots te houden spam of kwaadwillige doeleinden posten.

AEM Forms as a Cloud Service ondersteunt de volgende CAPTCHA-oplossingen:

De reCAPTCHA-service van Google configureren google-reCAPTCHA

Auteurs van formulieren kunnen de reCAPTCHA-service van Google gebruiken om reCAPTCHA te implementeren in Adaptive Forms. Het biedt geavanceerde CAPTCHA-mogelijkheden om uw site te beschermen. Voor meer informatie over hoe reCAPTCHA werkt, zie Google reCAPTCHA. AEM Forms ondersteunt reCAPTCHA v2 en reCAPTCHA Enterprise . Andere versies worden niet ondersteund. ReCAPTCHA in Adaptive Forms wordt niet ondersteund in de offlinemodus van de app AEM Forms . Gebaseerd op uw vereiste kunt u de dienst vormen reCAPTCHA om toe te laten:

reCAPTCHA

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

  1. Creeer of selecteer a het project van de Wolk van Googleen laat reCAPTCHA Onderneming APItoe.

  2. Verkrijg identiteitskaart van het Projecten creeer een API sleutelen de sleutel van de a plaats voor websites.

  3. Configuratiecontainer maken voor cloudservices.

    1. Ga naar Tools > General > Configuration Browser .

    2. Selecteer een map of maak een map en schakel de map in voor cloudconfiguraties met behulp van de volgende stappen:

      1. Selecteer de map in de Configuration Browser en selecteer Properties .
      2. Schakel in het dialoogvenster Configuration Properties Cloud Configurations in.
      3. Selecteer Save & Close om de configuratie op te slaan en het dialoogvenster af te sluiten.
  4. Configureer de cloudservice voor reCAPTCHA Enterprise .

    1. Op uw de auteursinstantie van de Experience Manager, ga hulpmiddelen-1 > Cloud Services.
    2. Selecteer reCAPTCHA. De pagina Configurations wordt geopend. Selecteer de configuratiecontainer die u hebt gemaakt en selecteer Create .
    3. Selecteer versie als reCAPTCHA Enterprise en geef Naam, Project-id, Sitecode en API-sleutel (verkregen in stap 2) op voor de reCAPTCHA Enterprise-service.
    4. Selecteer zeer belangrijk type, zou het zeer belangrijke type als plaatstoets moeten zijn die u in het project van de Wolk van Googlevormde, bijvoorbeeld, de plaatskaart van Checkbox of Score-based plaatstoets.
    5. Specificeer a drempelscore in waaier 0 tot 1. Scores groter dan of gelijk aan de drempelscores identificeren menselijke interactie, anders beschouwd als beide interactie.
    6. Selecteer Create om de configuratie van de cloudservice te maken.

Zodra de reCAPTCHA Enterprise-service is ingeschakeld, is deze beschikbaar voor gebruik in adaptieve formulieren. Zie gebruikend CAPTCHA in adaptieve vormen.

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

  1. Verkrijg reCAPTCHA API zeer belangrijk paarvan Google. Het omvat a plaats sleutel en a geheime sleutel.

  2. Configuratiecontainer maken voor cloudservices.

    1. Ga naar Tools > General > Configuration Browser .

    2. Selecteer een map of maak een map en schakel de map in voor cloudconfiguraties met behulp van de volgende stappen:

      1. Selecteer de map in de Configuration Browser en selecteer Properties .
      2. Schakel in het dialoogvenster Configuration Properties Cloud Configurations in.
      3. Selecteer Save & Close om de configuratie op te slaan en het dialoogvenster af te sluiten.
  3. Configureer de cloudservice voor reCAPTCHA v2.

    1. Op uw AEM auteursinstantie, ga hulpmiddelen-1 > Cloud Servicen.
    2. Selecteer reCAPTCHA. De pagina Configurations wordt geopend. Selecteer de configuratiecontainer die u hebt gemaakt en selecteer Create .
    3. Selecteer versie als reCAPTCHA v2 , geef Naam, Sitetoets en Geheime sleutel voor de service reCAPTCHA op (verkregen in stap 1) en selecteer Create om de configuratie van de cloudservice te maken.
    4. Geef in het dialoogvenster Component bewerken de site en de geheime sleutels op die in stap 1 zijn verkregen. Selecteer Save Settings en selecteer dan O.K. om de configuratie te voltooien.

    Zodra de reCAPTCHA-service is geconfigureerd, is deze beschikbaar voor gebruik in adaptieve formulieren. Voor meer informatie, zie gebruikend CAPTCHA in adaptieve vormen.

Google reCAPTCHA gebruiken in adaptieve formulieren using-reCAPTCHA

Google reCAPTCHA in een adaptieve vorm gebruiken:

  1. Open een adaptief formulier in de bewerkingsmodus.

    note note
    NOTE
    Zorg ervoor dat de configuratiecontainer die is geselecteerd bij het maken van het adaptieve formulier, de reCAPTCHA-cloudservice bevat. U kunt ook adaptieve formuliereigenschappen bewerken om de configuratiecontainer te wijzigen die aan het formulier is gekoppeld.
  2. Van componentenbrowser, sleep-daling de component Captcha op de adaptieve vorm.

    note note
    NOTE
    • Het gebruik van meer dan één Captcha-component in een adaptieve vorm wordt niet ondersteund. Het wordt ook afgeraden om CAPTCHA te gebruiken in een deelvenster dat is gemarkeerd voor wazig laden of in een fragment.
    • reCaptcha is tijdgevoelig en verloopt over een paar minuten. Daarom wordt aangeraden de component Captcha vlak voor de knop Verzenden in het aangepaste formulier te plaatsen.
  3. Selecteer de component Captcha die u toevoegde en cmp selecteert om zijn eigenschappen uit te geven.

  4. Geef een titel op voor de CAPTCHA-widget. De standaardwaarde is Captcha. Selecteer titel van de Verbergen als u geen titel wilt verschijnen.

  5. Van de dienst Captcha drop-down, uitgezochte reCAPTCHA om de dienst reCAPTCHA toe te laten als u het zoals die in wordt beschreven reCAPTCHA dienst door Googlevormde.

  6. Selecteer een configuratie van de drop-down Montages voor reCAPTCHA Onderneming of reCAPTCHA v2

    1. Als u versie 0} reCAPTCHA van de Onderneming {selecteert, kan het zeer belangrijke type van checkbox of gebaseerde score zijn, is het gebaseerd op uw selectie wanneer u plaats sleutel voor websitesvormt:
    note note
    NOTE
    • In de wolkenconfiguratie met zeer belangrijk type als checkbox, verschijnt het aangepaste foutenbericht als gealigneerd bericht als de bevestiging captcha ontbreekt.
    • In de wolkenconfiguratie met zeer belangrijk type als gebaseerde score, toont het aangepaste foutenbericht als pop-up bericht als de bevestiging captcha ontbreekt.
    1. U kunt grootte selecteren als Normal en Compact .
    2. U kunt een Bind Reference selecteren. In Bind Reference zijn de verzonden gegevens gebonden, anders zijn het niet-gebonden gegevens. Hieronder volgen XML-voorbeelden van niet-gebonden gegevens en gebonden gegevens (met bind verwijzing als SSN), wanneer een formulier wordt verzonden.
    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>
    

    Als u reCAPTCHA v2 versie selecteert:

    1. U kunt de grootte selecteren als Normal of Compact voor de reCAPTCHA-widget.
    2. U kunt de optie Invisible selecteren om de CAPTCHA-uitdaging alleen te tonen in het geval van een verdachte activiteit.

    De reCAPTCHA-service is ingeschakeld op het adaptieve formulier. U kunt een voorbeeld van het formulier bekijken en de CAPTCHA bekijken. die door reCAPTCHA wordt beschermd badge, hieronder wordt getoond, wordt getoond op de beschermde vormen.
    Google die door reCAPTCHA badge wordt beschermd

  7. Sla de eigenschappen op.

NOTE
Selecteer Default niet in het vervolgkeuzemenu Captcha-service omdat de standaard AEM CAPTCHA-service is vervangen.

CAPTCHA-component tonen of verbergen op basis van regels show-hide-captcha

U kunt de component CAPTCHA weergeven of verbergen op basis van de regels die u toepast op een component in een adaptief formulier. Selecteer de component, uitgezocht geef regels uit, en selecteer Create om een regel tot stand te brengen. Voor meer informatie bij het creëren van regels, zie Redacteur van de Regel.

De component CAPTCHA moet bijvoorbeeld alleen in een adaptief formulier worden weergegeven als het veld Waarde valuta in het formulier een waarde heeft van meer dan 25000.

Selecteer het veld Currency Value in het formulier en stel de volgende regels in:

toon of verberg regels

NOTE
Wanneer u een reCAPTCHA v2-configuratie selecteert en de grootte is ingesteld op Invisible , blijft de optie voor weergeven/verbergen uitgeschakeld.

CAPTCHA valideren validate-captcha

U kunt CAPTCHA valideren in een adaptief formulier wanneer u het formulier verzendt of de CAPTCHA-validatie baseert op gebruikersacties en -voorwaarden.

CAPTCHA valideren bij het verzenden van formulieren validation-form-submission

Een CAPTCHA automatisch valideren wanneer u een adaptief formulier verzendt:

  1. Selecteer de component CAPTCHA en selecteer cmp om de componenteneigenschappen te bekijken.
  2. Selecteer Validate CAPTCHA at form submission in de sectie Validate CAPTCHA .
  3. Selecteer Gedaan om de componenteneigenschappen te bewaren.

CAPTCHA bij gebruikershandelingen en -voorwaarden valideren validate-captcha-user-action

Een CAPTCHA valideren op basis van voorwaarden en gebruikersacties:

  1. Selecteer de component CAPTCHA en selecteer cmp om de componenteneigenschappen te bekijken.
  2. Selecteer Validate CAPTCHA on a user action in de sectie Validate CAPTCHA .
  3. Selecteer Gedaan om de componenteneigenschappen te bewaren.

Experience Manager Forms biedt ValidateCAPTCHA API om CAPTCHA te valideren met behulp van vooraf gedefinieerde voorwaarden. U kunt de API aanroepen met behulp van een aangepaste verzendactie of door regels voor componenten in een adaptief formulier te definiëren.

Hieronder ziet u een voorbeeld van een API van het type ValidateCAPTCHA voor het valideren van CAPTCHA met behulp van vooraf gedefinieerde voorwaarden:

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;
        }
    }

In het voorbeeld wordt aangegeven dat de API van ValidateCAPTCHA de CAPTCHA alleen in het formulier valideert als het aantal cijfers in het numerieke vak dat de gebruiker heeft opgegeven tijdens het invullen van het formulier groter is dan 5.

Optie 1: Gebruik Experience Manager Forms ValidateCAPTCHA API om CAPTCHA te bevestigen gebruikend een douane verzendt Actie

Voer de volgende stappen uit om de API ValidateCAPTCHA te gebruiken om CAPTCHA te valideren met behulp van een aangepaste handeling Verzenden:

  1. Voeg het script dat de ValidateCAPTCHA API bevat toe aan de aangepaste verzendactie. Voor meer op douane verzend Acties, zie een douane creëren legt Actie voor Aanpassings Formsvoor.
  2. Selecteer de naam van de aangepaste handeling Verzenden in de vervolgkeuzelijst Submit Action in de Submission -eigenschappen van een adaptief formulier.
  3. Selecteer Submit. De CAPTCHA wordt gevalideerd op basis van de voorwaarden die zijn gedefinieerd in de ValidateCAPTCHA API van de aangepaste verzendactie.

Optie 2: Gebruik Experience Manager Forms ValidateCAPTCHA API om CAPTCHA op een gebruikersactie te bevestigen alvorens de vorm voor te leggen

U kunt de ValidateCAPTCHA API ook aanroepen door regels toe te passen op een component in een adaptief formulier.

U voegt bijvoorbeeld een knop Validate CAPTCHA toe aan een adaptief formulier en maakt een regel om een service aan te roepen bij het klikken op een knop.

In de volgende afbeelding ziet u hoe u een service kunt aanroepen wanneer u op een knop Validate CAPTCHA klikt:

bevestigt CAPTCHA

U kunt de aangepaste servlet die ValidateCAPTCHA API omvat aanroepen gebruikend de regelredacteur en de verzendknoop van het Aangepaste Vorm toelaten of onbruikbaar maken die op het bevestigingsresultaat wordt gebaseerd.

Op dezelfde manier kunt u regeleditor gebruiken om een aangepaste methode op te nemen om CAPTCHA in een adaptief formulier te valideren.

reCAPTCHA-servicedomein bewerken reCAPTCHA-service-domain

reCAPTCHA-service gebruikt https://www.recaptcha.net/ als het standaarddomein. U kunt de instellingen wijzigen om https://www.google.com/ in te stellen of een aangepaste domeinnaam voor het laden, renderen en valideren van de reCAPTCHA-service.

Stel de eigenschap af.cloudservices.recaptcha.domain van de Adaptive Form and Interactive Communication Web Channel Configuration configuratie in om https://www.google.com/ of een andere aangepaste domeinnaam op te geven. In het volgende JSON-bestand wordt een voorbeeld weergegeven:

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

Om waarden van een configuratie te plaatsen, produceer OSGi Configuraties gebruikend de AEM SDK, en stel de configuratieaan uw instantie van de Cloud Service op.

Zie ook see-also

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab