Verifiera CAPTCHA-utmaningssträngen med hjälp av CAPTCHA-visningskontrollen

Använd CAPTCHA-visningskontroller för att generera en CAPTCHA-utmaningssträng och verifiera den sedan genom att be användaren att ange vad de ser eller hör. Om du vill visa en CAPTCHA-visningskontroll refererar du till den från en självkontrollerad teknisk profil, och du måste ange metadatavärdet för den självsäkra tekniska profilen setting.enableCaptchaChallenge till true.

Skärmbilden visar CAPTCHA-visningskontrollen som visas på en registreringssida:

Screenshot of CAPTCHA as it appears in the sign-up page.

Registreringssidan läses in med CAPTCHA-visningskontrollen. Användaren anger sedan de tecken som de ser eller hör. Knappen Skicka verifieringskod skickar en verifieringskod till användarens e-post och är inte CAPTCHA-visningskontrollelementet, men det gör att CAPTCHA-utmaningssträngen verifieras.

CAPTCHA-visningskontrollelement

Den här tabellen sammanfattar de element som en CAPTCHA-visningskontroll innehåller.

Element Obligatoriskt Beskrivning
UserInterfaceControlType Ja Värdet måste vara CaptchaControl.
InputClaims Ja Ett eller flera anspråk krävs som indata för att ange typen av CAPTCHA-utmaning och för att unikt identifiera utmaningen.
DisplayClaims Ja Anspråk som ska visas för användaren, till exempel CAPTCHA-utmaningskoden, eller samlas in från användaren, till exempel kodindata från användaren
OutputClaim Nej Alla anspråk som ska returneras till den självsäkra sidan när användaren har slutfört CAPTCHA-kodverifieringsprocessen.
Åtgärder Ja CAPTCHA-visningskontrollen innehåller två åtgärder, GetChallenge och VerifyChallenge.
GetChallenge-åtgärden genererar och visar sedan en CAPTCHA-utmaningskod i användargränssnittet.
VerifyChallenge-åtgärden verifierar CAPTCHA-utmaningskoden som användaren anger.

Följande XML-kodfragment visar ett exempel på visningskontrollen CaptchaProvider:

<DisplayControls>
    ...
    <DisplayControl Id="captchaControlChallengeCode" UserInterfaceControlType="CaptchaControl" DisplayName="Help us beat the bots">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="challengeType" />
        <InputClaim ClaimTypeReferenceId="challengeId" />
      </InputClaims>
    
      <DisplayClaims>
        <DisplayClaim ClaimTypeReferenceId="challengeType" ControlClaimType="ChallengeType" />
        <DisplayClaim ClaimTypeReferenceId="challengeId" ControlClaimType="ChallengeId" />
        <DisplayClaim ClaimTypeReferenceId="challengeString" ControlClaimType="ChallengeString" />
        <DisplayClaim ClaimTypeReferenceId="captchaEntered" ControlClaimType="CaptchaEntered" />
      </DisplayClaims>
    
      <Actions>
        <Action Id="GetChallenge">
          <ValidationClaimsExchange>
            <ValidationClaimsExchangeTechnicalProfile
              TechnicalProfileReferenceId="HIP-GetChallenge" />
          </ValidationClaimsExchange>
        </Action>
    
        <Action Id="VerifyChallenge">
          <ValidationClaimsExchange>
            <ValidationClaimsExchangeTechnicalProfile
              TechnicalProfileReferenceId="HIP-VerifyChallenge" />
          </ValidationClaimsExchange>
        </Action>
      </Actions>
    </DisplayControl>
    ...
</DisplayControls>

Nästa steg