Share via


CAPTCHA görüntüleme denetimini kullanarak CAPTCHA sınama dizesini doğrulama

CAPTCHA sınama dizesi oluşturmak için CAPTCHA görüntüleme denetimlerini kullanın, ardından kullanıcıdan gördüklerini veya duydukları şeyleri girmesini isteyerek bunu doğrulayın. CAPTCHA görüntü denetimini görüntülemek için, buna kendi kendine onaylanan bir teknik profilden başvurursunuz ve kendi kendine onaylanan teknik profilin setting.enableCaptchaChallenge meta veri değerini true olarak ayarlamanız gerekir.

Kayıt sayfasında gösterilen CAPTCHA görüntü denetimini gösteren ekran görüntüsü:

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

Kayıt sayfası CAPTCHA görüntü denetimiyle yüklenir. Kullanıcı daha sonra gördüğü veya duyduğu karakterleri girdi. Doğrulama kodu gönder düğmesi kullanıcının e-postasına bir doğrulama kodu gönderir ve CAPTCHA görüntüleme denetimi öğesi değildir, ancak CAPTCHA sınama dizesinin doğrulanmasına neden olur.

CAPTCHA görüntü denetimi öğeleri

Bu tablo, CAPTCHA görüntüleme denetiminin içerdiği öğeleri özetler.

Öğe Zorunlu Açıklama
UserInterfaceControlType Yes Değer CaptchaControl olmalıdır.
InputClaims Yes CAPTCHA sınama türünü belirtmek ve sınamayı benzersiz bir şekilde tanımlamak için giriş olarak bir veya daha fazla talep gereklidir.
DisplayClaims Yes CAPTCHA sınama kodu gibi kullanıcıya gösterilecek veya kullanıcı tarafından kod girişi gibi kullanıcıdan toplanan talepler
OutputClaim Hayır Kullanıcı CAPTCHA kod doğrulama işlemini tamamladıktan sonra kendi kendine onaylanan sayfaya döndürülecek tüm talepler.
Eylemler Yes CAPTCHA görüntüleme denetimi getChallenge ve VerifyChallenge adlı iki eylem içerir.
GetChallenge eylemi, kullanıcı arabiriminde bir CAPTCHA sınama kodu oluşturur ve görüntüler.
VerifyChallenge eylemi, kullanıcının giriş yaptığı CAPTCHA sınama kodunu doğrular.

Aşağıdaki XML kod parçacığı kodu, CaptchaProvider görüntü denetimi örneğini gösterir:

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

Sonraki adımlar