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