Sdílet prostřednictvím


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:

Screenshot of CAPTCHA as it appears in the sign-up page.

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>

Další kroky