Memverifikasi string tantangan CAPTCHA menggunakan kontrol tampilan CAPTCHA

Gunakan kontrol tampilan CAPTCHA untuk menghasilkan string tantangan CAPTCHA, lalu verifikasi dengan meminta pengguna untuk memasukkan apa yang mereka lihat atau dengar. Untuk menampilkan kontrol tampilan CAPTCHA, Anda mereferensikannya dari profil teknis yang ditegaskan sendiri, dan Anda harus mengatur nilai metadata profil setting.enableCaptchaChallenge teknis yang ditegaskan sendiri ke true.

Cuplikan layar memperlihatkan kontrol tampilan CAPTCHA yang ditampilkan pada halaman pendaftaran:

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

Halaman pendaftaran dimuat dengan kontrol tampilan CAPTCHA. Pengguna kemudian memasukkan karakter yang mereka lihat atau dengar. Tombol Kirim kode verifikasi mengirimkan kode verifikasi ke email pengguna, dan bukan elemen kontrol tampilan CAPTCHA, tetapi menyebabkan string tantangan CAPTCHA diverifikasi.

Elemen kontrol tampilan CAPTCHA

Tabel ini meringkas elemen yang dimuat kontrol tampilan CAPTCHA.

Elemen Wajib Deskripsi
UserInterfaceControlType Ya Nilai harus CaptchaControl.
InputClaims Ya Satu atau beberapa klaim diperlukan sebagai input untuk menentukan jenis tantangan CAPTCHA dan untuk mengidentifikasi tantangan secara unik.
DisplayClaims Ya Klaim yang akan ditampilkan kepada pengguna seperti kode tantangan CAPTCHA, atau dikumpulkan dari pengguna, seperti input kode oleh pengguna
OutputClaim No Setiap klaim yang akan dikembalikan ke halaman yang ditegaskan sendiri setelah pengguna menyelesaikan proses verifikasi kode CAPTCHA.
Tindakan Ya Kontrol tampilan CAPTCHA berisi dua tindakan, GetChallenge dan VerifyChallenge.
Tindakan GetChallenge dihasilkan, lalu menampilkan kode tantangan CAPTCHA pada antarmuka pengguna.
Tindakan VerifyChallenge memverifikasi kode tantangan CAPTCHA yang dimasukkan pengguna.

Kode cuplikan XML berikut menunjukkan contoh kontrol tampilan 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>

Langkah berikutnya