Ověření řetězce výzvy CAPTCHA pomocí ovládacího prvku ZOBRAZENÍ CAPTCHA
Pomocí ovládacích prvků zobrazení CAPTCHA vygenerujte řetězec výzvy CAPTCHA a pak ho ověřte tak, že požádáte uživatele, aby zadal, co vidí nebo slyší. Pokud chcete zobrazit ovládací prvek zobrazení CAPTCHA, odkazujete na něj z technického profilu s vlastním kontrolním výrazem a musíte nastavit hodnotu metadat technického setting.enableCaptchaChallenge
profilu s vlastním kontrolním výrazem na hodnotu true.
Snímek obrazovky ukazuje ovládací prvek pro zobrazení CAPTCHA zobrazený na registrační stránce:
Registrační stránka se načte pomocí ovládacího prvku ZOBRAZENÍ CAPTCHA. Uživatel pak zadá znaky, které uvidí nebo uslyší. Tlačítko Odeslat ověřovací kód odešle ověřovací kód do e-mailu uživatele a není prvkem ovládacího prvku pro zobrazení CAPTCHA, ale způsobí ověření ověřovacího řetězce výzvy CAPTCHA.
CAPTCHA – prvky ovládacího prvku zobrazení
Tato tabulka shrnuje prvky, které obsahuje ovládací prvek zobrazení CAPTCHA.
Element (Prvek) | Požadováno | Popis |
---|---|---|
UserInterfaceControlType | Ano | Hodnota musí být CaptchaControl. |
InputClaims | Ano | Jedna nebo více deklarací identity vyžadovaných jako vstup k určení typu výzvy CAPTCHA a k jednoznačné identifikaci výzvy. |
DisplayClaims | Ano | Deklarace identity, které se mají zobrazit uživateli, jako je kód výzvy CAPTCHA, nebo shromážděné od uživatele, například zadání kódu uživatelem |
OutputClaim | No | Jakákoli deklarace identity, která se má vrátit na stránku s vlastním potvrzením po dokončení procesu ověření kódu CAPTCHA. |
Akce | Ano | Ovládací prvek zobrazení CAPTCHA obsahuje dvě akce: GetChallenge a VerifyChallenge. Akce GetChallenge se vygeneruje a pak zobrazí kód výzvy CAPTCHA v uživatelském rozhraní. Akce VerifyChallenge ověřuje kód výzvy CAPTCHA, který uživatel zadá. |
Následující kód fragmentu kódu XML ukazuje příklad ovládacího prvku zobrazení 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>