Überprüfen der CAPTCHA-Abfragezeichenfolge mithilfe des CAPTCHA-Anzeigesteuerelements
Verwenden Sie CAPTCHA-Anzeigesteuerelemente, um eine CAPTCHA-Abfragezeichenfolge zu generieren, und überprüfen Sie sie, indem Sie den Benutzer auffordern, einzugeben, was er sieht oder hört. Um ein CAPTCHA-Anzeigesteuerelement anzuzeigen, verweisen Sie aus einem selbst bestätigten technischen Profil darauf, und Sie müssen den Metadatenwert des selbst bestätigten technischen Profils setting.enableCaptchaChallenge
auf "true" festlegen.
Der Screenshot zeigt das CAPTCHA-Anzeigesteuerelement auf einer Registrierungsseite:
Die Anmeldeseite wird mit dem CAPTCHA-Anzeigesteuerelement geladen. Der Benutzer gibt dann die Zeichen ein, die er sehen oder hören. Die Schaltfläche "Überprüfungscode senden" sendet einen Überprüfungscode an die E-Mail des Benutzers und ist kein CAPTCHA-Anzeigesteuerelementelement, bewirkt jedoch, dass die CAPTCHA-Abfragezeichenfolge überprüft wird.
CAPTCHA-Anzeigesteuerelementelemente
In dieser Tabelle sind die Elemente zusammengefasst, die ein CAPTCHA-Anzeigesteuerelement enthält.
Element | Erforderlich | Beschreibung |
---|---|---|
UserInterfaceControlType | Ja | Der Wert muss CaptchaControl sein. |
InputClaims | Ja | Mindestens ein Anspruch, der als Eingabe erforderlich ist, um den CAPTCHA-Abfragetyp anzugeben und die Abfrage eindeutig zu identifizieren. |
DisplayClaims | Ja | Die Ansprüche, die dem Benutzer angezeigt werden sollen, z. B. dem CAPTCHA-Abfragecode oder vom Benutzer gesammelt, z. B. Codeeingaben des Benutzers |
OutputClaim | Nein | Alle Ansprüche, die nach Abschluss des CAPTCHA-Codeüberprüfungsvorgangs an die Selbstbestätigungsseite zurückgegeben werden sollen. |
Aktionen | Ja | CAPTCHA-Anzeigesteuerelement enthält zwei Aktionen, GetChallenge und VerifyChallenge. GetChallenge-Aktion generiert und zeigt dann einen CAPTCHA-Abfragecode auf der Benutzeroberfläche an. VerifyChallenge-Aktion überprüft den CAPTCHA-Abfragecode, den der Benutzer eingibt. |
Der folgende XML-Codeausschnitt zeigt ein Beispiel für das CaptchaProvider-Anzeigesteuerelement:
<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>