TCaptcha

TCaptcha menampilkan CAPTCHA yang bisa dipakai untuk menentukan apakah input dimasukan oleh pengguna asli ataukah beberapa program. TCaptcha menampilkan sebuah token (string terdiri dari karakter alfanumerik) sebagai sebuah gambar dan pengguna diharapkan untuk mengulang token dalam kotak teks. Gambar token dibuat dalam cara tertentu yang bisa dikenali oleh manusia, tapi tidak oleh sebuah program.

Untuk menggunakan TCaptcha, anda hrus menghidupkan ekstensi PHP GD2 dengan dukungan font TrueType. Tidak seperti naskah CAPTCHA lain, TCaptcha tidak memerlukan sesi atau cookie.

Token yang dibuat oleh TCaptcha dapat dikonfigurasi dalam beberapa cara. Untuk menetapkan panjang karakter dalam token, setel MinTokenLength dan MaxTokenLength. Untuk menggunakan perbandingan huruf tidak sensitif-huruf dan hanya membuat token huruf-besar, setel CaseSensitive ke false. Para pengguna tingkat lanjut dapat mencoba untuk menyetel TokenAlphabet guna menetapkan karakter mana yang akan muncul dalam token yang dibuatnya.

Validasi token terkait dengan dua properti: TestLimit (standarnya 5 kali) dan TokenExpiry (standarnya 600 detik). Pembentuk menetapkan berapa kali token bisa diuji pada sisi-server, dan yang terakhir mengatakan kapan token yang dibuat akan berakhir. Jika validasi gagal dalam salah satu dari dua skenario, token baru akan secara otomatis dibuat.

Untuk menetapkan tampilan dari gambar token yang dibuat, setel TokenImageTheme ke integer antara 0 dan 31. Ada bisa mencoba contoh berikut untuk melihat bagaimana nilai ini mempengaruhi gambar token yang dihasilkan. Ukuran gambar token ditentukan oleh TokenFontSize. Dalam keadaan tertentu, panjang gambar adalah proporsional bagi ukuran font. Anda juga bisa menyetel Width untuk mengubah gambar yang dihasilkan ke ukuran yang anda inginkan, gambar yang diskala mungkin tidak terlihat baik.

Setelah postback, input pengguna dapat di validasi dengan memanggil metode TCaptcha.validate(). Jauh lebih mudah, anda dapat menggunakan TCaptchaValidator untuk mengotomasi pekerjaan validasi bagi anda. TCaptchaValidator mempunyai keuntungan tambahan dari kemampuan untuk memvalidasi input pengguna pada sisi-klien. Standarnya, token yang dihasilkan akan tetap tidak berubah selama postbacks. Token baru dapat dibuat dengan memanggil TCaptcha.regenerateToken() secara manual.

Template berikut memperlihatkan penggunaan umum dari kontrol TCaptcha:

<com:TCaptcha ID="Captcha" /> <com:TTextBox ID="Input" /> <com:TCaptchaValidator CaptchaControl="Captcha" ControlToValidate="Input" ErrorMessage="You are challenged!" />