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 :
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>