Saat ini, ketika kita mencoba registrasi ke suatu sistem dalam aplikasi web di internet, kita mendapatkan pertanyaan verifikasi seperti menjawab suatu tulisan pada suatu gambar yang sedikit dikaburkan tapi masih bisa terbaca, atau menjawab suatu operasi matematik sederhana.
Proses verifikasi seperti itu dilakukan untuk menghindari registrasi otomatis (
screen scraping) yang dilakukan program komputer. Jadi sistem registrasi mencoba memverifikasi bahwa yang register adalah orang, bukan mesin.
Program untuk dapat membuat dan melakukan grade test sehingga banyak orang/manusia dapat melewati (pass) sedangkan program komputer saat ini tidak dapat melewatinya, bisa kita sebut sebagai CAPTCHA. (Kata "banyak" dan "saat ini" didefiniskan kemudian).
CAPTCHA singkatan dari "Completely Automated Public Turing Test to Tell Computers and Humans Apart". Public berarti kode program harus diberi komentar dan mudah untuk dimengerti, dan semua data yang digunakan pada sebuah CAPCHA haruslah bersifat publik.
Turing test adalah test menebak sesuatu oleh manusia, dalam hal ini 'lawan'-nya adalah program komputer.
Metode untuk mendistorsi karakter pada gambar biasanya adalah:
- tipe font
- penambahan latar belakang (pattern, gradasi warna)
- penambahan object lain yang sedikit menutupi karakter/huruf
- perbedaan warna tiap-tiap huruf, atau border dari huruf
- mengubah karakter dengan menggunakan algoritma distrosi misalnya
- pembelokan garis sehingga karakter jadi meliuk-liuk (shadowgimpy)
- memperesar bagian tertentu dengan kesan cermin cembung (FishEye)
LINKs:
CAPTCHA homepageSalah satu implementasi Java -
JCAPTCHA