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

Adobe beveelt aan moderne en uitbreidbare gegevensvastlegging te gebruiken Kernonderdelenfor nieuwe Adaptieve Forms makenof Aangepaste Forms toevoegen aan AEM Sites-pagina's. 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 adaptieve formulieren op basis van kerncomponenten, 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 reCAPTCHA ondersteunen in Adaptive Forms. U kunt de reCAPTCHA-service van Google gebruiken om CAPTCHA te implementeren.

NOTE
  • AEM Forms reCaptcha v2 en reCaptcha Enterprise ondersteunen. Andere versies worden niet ondersteund.
  • reCAPTCHA in Adaptive Forms wordt niet ondersteund in de offline modus AEM Forms app.

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. De service reCAPTCHA omvat reCAPTCHA v2 en reCAPTCHA Enterprise waarin u kunt integreren 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. Maak of selecteer een Google Cloud-project en reCAPTCHA Enterprise API.

  2. Verkrijg Project-id en een API-sleutel en sitecode 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 configuratiegrowser en selecteer Properties.
      2. Schakel in het dialoogvenster Configuratieeigenschappen de optie Cloud Configurations.
      3. Selecteren Save & Close om de configuratie op te slaan en het dialoogvenster af te sluiten.
  4. De cloudservice configureren voor reCAPTCHA Enterprise.

    1. Ga naar de Experience Manager authentieke instantie gereedschappen-1 > Cloud Services.
    2. Selecteer reCAPTCHA. De pagina Configurations wordt geopend. Selecteer de configuratiecontainer die u creeerde en selecteer Create.
    3. Versie selecteren als reCAPTCHA Enterprise en specificeer Naam, identiteitskaart van het Project, Sleutel van de Plaats, en API sleutel (Verkregen in Stap 2) voor de dienst van de Onderneming reCAPTCHA.
    4. Selecteer sleuteltype, zou het zeer belangrijke type moeten zijn zoals de plaatstoets die u in vormde Google Cloud-project, bijvoorbeeld Sitetoets selectievakje of Score-gebaseerde sitesleutel.
    5. Geef een drempelscore in het bereik 0 tot 1. Scores groter dan of gelijk aan de drempelscores identificeren menselijke interactie, anders beschouwd als beide interactie.
    6. Selecteren 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 gebruik van CAPTCHA in adaptieve vormen.

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

  1. Verkrijgen reCAPTCHA API-sleutelpaar uit Google. Het omvat een site-sleutel en 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 configuratiegrowser en selecteer Properties.
      2. Schakel in het dialoogvenster Configuratieeigenschappen de optie Cloud Configurations.
      3. Selecteren Save & Close om de configuratie op te slaan en het dialoogvenster af te sluiten.
  3. Configureer de cloudservice voor reCAPTCHA v2.

    1. Ga naar de AEM gereedschappen-1 > Cloud Servicen.
    2. Selecteer reCAPTCHA. De pagina Configurations wordt geopend. Selecteer de configuratiecontainer die u creeerde en selecteer Create.
    3. Versie selecteren als reCAPTCHA v2 , specificeer Naam, de sleutel van de Plaats, en Geheime Sleutel voor de dienst reCAPTCHA (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. Selecteren Save Settings en selecteer vervolgens OK de configuratie voltooien.

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

reCAPTCHA gebruiken in adaptieve formulieren using-reCAPTCHA

ReCAPTCHA in 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. Sleep vanuit de componentbrowser de Captcha op het adaptieve formulier.

    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 hebt toegevoegd en selecteer cmppr om de eigenschappen te bewerken.

  4. Geef een titel op voor de CAPTCHA-widget. De standaardwaarde is Captcha. Selecteren Titel verbergen als u de titel niet wilt weergeven.

  5. Van de Captcha-service vervolgkeuzelijst, selecteert u reCAPTCHA om de dienst reCAPTCHA toe te laten als u het zoals die in vormde reCAPTCHA-service van Google.

  6. Selecteer een configuratie in het keuzemenu Instellingen voor reCAPTCHA Enterprise of reCAPTCHA v2

    1. Als u reCAPTCHA Enterprise versie, het sleuteltype kan van selectievakje of op basis van score, is het gebaseerd op uw selectie wanneer u vormt sitecode voor websites:
    note note
    NOTE
    • In de cloudconfiguratie met sleuteltype als selectievakje wordt het aangepaste foutbericht weergegeven als een inline-bericht als de validatie van captcha mislukt.
    • In de cloudconfiguratie met sleuteltype als op basis van score wordt het aangepaste foutbericht weergegeven als een pop-upbericht als de validatie van Captcha mislukt.
    1. U kunt de grootte selecteren als Normal en Compact.
    2. U kunt een Bind Reference, in Bind Reference de ingediende gegevens zijn 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:

    1. U kunt de grootte selecteren als Normal of Compact voor de reCAPTCHA-widget.
    2. U kunt de Invisible optie om de CAPTCHA-uitdaging alleen aan 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. De beveiligd door reCAPTCHA de badge, die hieronder wordt weergegeven, wordt weergegeven op de beveiligde formulieren.
    Google beveiligd door reCAPTCHA-badge

  7. Sla de eigenschappen op.

NOTE
Niet selecteren Default van de de dienstdrop-down Captcha aangezien de standaard AEM dienst CAPTCHA wordt afgekeurd.

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 regels bewerken en selecteert u Create om een regel te maken. Zie voor meer informatie over het maken van regels Regeleditor.

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 de Currency Value in het formulier en stel de volgende regels in:

Regels tonen of verbergen

NOTE
Wanneer u een reCAPTCHA v2-configuratie selecteert en de grootte is ingesteld op Invisible, blijft de optie 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 cmppr om de componenteigenschappen weer te geven.
  2. In de Validate CAPTCHA sectie, selecteert u Validate CAPTCHA at form submission.
  3. Selecteren Gereed om de componenteigenschappen op te slaan.

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 cmppr om de componenteigenschappen weer te geven.
  2. In de Validate CAPTCHA sectie, selecteert u Validate CAPTCHA on a user action.
  3. Selecteren Gereed om de componenteigenschappen op te slaan.

Experience Manager Forms verstrekt 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.

Hier volgt een voorbeeld van een ValidateCAPTCHA API voor validatie 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 ValidateCAPTCHA API valideert de CAPTCHA alleen in het formulier als het aantal cijfers in het numerieke vak dat door de gebruiker is opgegeven tijdens het invullen van het formulier groter is dan 5.

Optie 1: gebruiken Experience Manager Forms De API ValidateCAPTCHA om CAPTCHA te valideren met behulp van een aangepaste verzendactie

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

  1. Voeg het script toe dat het ValidateCAPTCHA API voor aangepaste verzendhandeling. Zie voor meer informatie over aangepaste verzendhandelingen Een aangepaste verzendactie maken voor Adaptieve Forms.
  2. Selecteer de naam van de aangepaste handeling Verzenden in het menu Submit Action vervolgkeuzelijst in Submission eigenschappen van een adaptief formulier.
  3. Selecteer Submit. De CAPTCHA wordt gevalideerd op basis van de in ValidateCAPTCHA API van de aangepaste handeling Verzenden.

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

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

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

Het volgende cijfer illustreert hoe u de dienst op de klik van een Validate CAPTCHA knop:

CAPTCHA valideren

U kunt de aangepaste servlet die omvat aanroepen ValidateCAPTCHA API die de regelredacteur gebruikt en laat of maakt de verzendknoop van het Aangepaste Vorm toe 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 in te stellen instellingen wijzigen https://www.google.com/ of een aangepaste domeinnaam voor het laden, renderen en valideren van de reCAPTCHA-service.

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

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

Om waarden van een configuratie te plaatsen, OSGi-configuraties genereren met de AEM SDK, en stel de configuratie op naar de instantie Cloud Service.

Zie ook see-also

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