Partage via


Vérifier la chaîne de défi CAPTCHA à l’aide du contrôle d’affichage CAPTCHA

Utilisez les contrôles d’affichage CAPTCHA pour générer une chaîne de défi CAPTCHA, puis vérifiez-le en demandant à l’utilisateur d’entrer ce qu’il voit ou entend. Pour afficher un contrôle d’affichage CAPTCHA, vous le référencez à partir d’un profil technique autodéclaré et vous devez définir la valeur des métadonnées du setting.enableCaptchaChallenge profil technique autodéclaré sur true.

La capture d’écran montre le contrôle d’affichage CAPTCHA affiché sur une page d’inscription :

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

La page d’inscription se charge avec le contrôle d’affichage CAPTCHA. L’utilisateur entre ensuite les caractères qu’il voit ou entend. Le bouton Envoyer le code de vérification envoie un code de vérification à l’e-mail de l’utilisateur et n’est pas l’élément de contrôle d’affichage CAPTCHA, mais il provoque la vérification de la chaîne de défi CAPTCHA.

Éléments de contrôle d’affichage CAPTCHA

Ce tableau récapitule les éléments qu’un contrôle d’affichage CAPTCHA contient.

Élément Obligatoire Description
UserInterfaceControlType Oui La valeur doit être CaptchaControl.
InputClaims Oui Une ou plusieurs revendications requises comme entrée pour spécifier le type de défi CAPTCHA et identifier de manière unique le défi.
DisplayClaims Oui Revendications à afficher à l’utilisateur, telles que le code de défi CAPTCHA, ou collectées auprès de l’utilisateur, telles que l’entrée de code par l’utilisateur
OutputClaim Non Toute revendication à retourner à la page autodéclarée une fois que l’utilisateur a terminé le processus de vérification du code CAPTCHA.
Actions Oui Le contrôle d’affichage CAPTCHA contient deux actions, GetChallenge et VerifyChallenge.
L’action GetChallenge génère, puis affiche un code de défi CAPTCHA sur l’interface utilisateur.
L’action VerifyChallenge vérifie le code de défi CAPTCHA que l’utilisateur entre.

Le code d’extrait de code XML suivant montre un exemple de contrôle d’affichage 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>

Étapes suivantes