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