Udostępnij za pośrednictwem


Weryfikowanie ciągu wyzwania CAPTCHA przy użyciu kontrolki wyświetlania CAPTCHA

Użyj kontrolek wyświetlania CAPTCHA, aby wygenerować ciąg wyzwania CAPTCHA, a następnie zweryfikuj go, prosząc użytkownika o wprowadzenie tego, co widzą lub usłyszą. Aby wyświetlić kontrolkę wyświetlania CAPTCHA, odwołujesz się do niej z własnego profilu technicznego i musisz ustawić wartość metadanych własnego profilusetting.enableCaptchaChallenge technicznego na true.

Zrzut ekranu przedstawia kontrolkę wyświetlania CAPTCHA wyświetlaną na stronie rejestracji:

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

Strona rejestracji jest ładowana za pomocą kontrolki wyświetlania CAPTCHA. Następnie użytkownik wprowadza znaki, które widzą lub usłyszą. Przycisk Wyślij kod weryfikacyjny wysyła kod weryfikacyjny do wiadomości e-mail użytkownika i nie jest elementem kontrolki wyświetlania CAPTCHA, ale powoduje zweryfikowanie ciągu wyzwania CAPTCHA.

Elementy kontrolki wyświetlania CAPTCHA

Ta tabela zawiera podsumowanie elementów, które zawiera kontrolka wyświetlania CAPTCHA.

Element Wymagania opis
UserInterfaceControlType Tak Wartość musi być captchaControl.
InputClaims Tak Co najmniej jedno oświadczenie wymagane jako dane wejściowe w celu określenia typu wyzwania CAPTCHA i unikatowego zidentyfikowania wyzwania.
DisplayClaims Tak Oświadczenia, które mają być wyświetlane użytkownikowi, takie jak kod wyzwania CAPTCHA, lub zbierane od użytkownika, takie jak dane wejściowe kodu przez użytkownika
OutputClaim Nie. Każde oświadczenie, które ma zostać zwrócone do strony samozwańczej po zakończeniu procesu weryfikacji kodu CAPTCHA przez użytkownika.
Akcje Tak Kontrolka wyświetlania CAPTCHA zawiera dwie akcje: GetChallenge i VerifyChallenge.
Akcja GetChallenge generuje, a następnie wyświetla kod wyzwania CAPTCHA w interfejsie użytkownika.
Akcja VerifyChallenge weryfikuje kod wyzwania CAPTCHA, który wprowadza użytkownik.

Poniższy kod fragmentu kodu XML przedstawia przykład kontrolki wyświetlania 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>

Następne kroki