CapTCHA-vraagtekenreeks controleren met captcha-weergavebeheer
Gebruik CAPTCHA-weergavebesturingselementen om een CAPTCHA-vraagtekenreeks te genereren en controleer deze door de gebruiker te vragen wat ze zien of horen. Als u een CAPTCHA-weergavebesturingselement wilt weergeven, verwijst u ernaar vanuit een zelf-asserted technisch profiel en moet u de metagegevenswaarde van setting.enableCaptchaChallenge
het zelf-asserted technische profiel instellen op waar.
In de schermopname ziet u het captcha-weergavebesturingselement dat wordt weergegeven op een registratiepagina:
De registratiepagina wordt geladen met het CAPTCHA-weergavebesturingselement. De gebruiker voert vervolgens de tekens in die ze zien of horen. De knop Verificatiecode verzenden verzendt een verificatiecode naar het e-mailadres van de gebruiker en is geen CAPTCHA-weergavebeheerelement, maar zorgt ervoor dat de CAPTCHA-vraagtekenreeks wordt geverifieerd.
CAPTCHA-weergavebeheerelementen
Deze tabel bevat een overzicht van de elementen die een CAPTCHA-weergave besturingselement bevat.
Element | Vereist | Beschrijving |
---|---|---|
UserInterfaceControlType | Ja | De waarde moet CaptchaControl zijn. |
InputClaims | Ja | Een of meer claims die zijn vereist als invoer voor het opgeven van het CAPTCHA-uitdagingstype en om de uitdaging uniek te identificeren. |
DisplayClaims | Ja | De claims die moeten worden weergegeven aan de gebruiker, zoals de CAPTCHA-vraagcode, of verzameld van de gebruiker, zoals code-invoer door de gebruiker |
OutputClaim | Nee | Elke claim die moet worden geretourneerd naar de zelf-asserted pagina nadat de gebruiker het verificatieproces van CAPTCHA-code heeft voltooid. |
Acties | Ja | CAPTCHA-weergave bevat twee acties, GetChallenge en VerifyChallenge. GetChallenge-actie genereert en geeft vervolgens een CAPTCHA-uitdagingscode weer in de gebruikersinterface. Controleer of de actieChallenge de CAPTCHA-vraagcode verifieert die de gebruiker invoert. |
De volgende XML-codefragment toont een voorbeeld van het weergavebeheer 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>