Berawal dari keinginan untuk melengkapi form komentar pada salah satu blog WordPress milik saya dengan sebuah gambar captcha anti spam. Setelah saya seleksi beberapa plugin captcha, ternyata masih dalam format zip saja, berat plugin captcha yang ada rata-rata mencapai lebih dari 100kb. Sedangkan yang saya tahu, berat file captcha.php rata-rata kurang dari 10kb.
Atas dasar itulah, saya memutuskan untuk melengkapi gambar captcha anti spam di form komentar blog ini secara manual tanpa menggunakan plugin.
Sekedar informasi, CAPTCHA adalah singkatan dari Completely Automated Public Turing test to tell Computers and Humans Apart (Tes Turing Publik yang Sepenuhnya Otomatis untuk membedakan antara Komputer dengan Manusia).
CAPTCHA pertama kali diperkenalkan pada tahun 2000 oleh Luis von Ahn, Manuel Blum, Nicholas Hopper dan John Langford dari Carnegie Mellon University. CAPTCHA adalah program yang melindungi situs web dari para spammer dengan cara membuat dan menilai tes yang hanya dapat diselesaikan oleh manusia sementara program komputer yang ada saat ini belum bisa melakukannya. Sebagai contoh, manusia dapat membaca teks yang terdistorsi, tetapi program
komputer yang ada saat ini belum bisa. Agar gambar ini kebal terhadap program OCR (Optical Character Recognition), huruf dan angka dibuat melengkung dan dimampatkan.
Memasang reCAPTCHA di Form Komentar WordPress tanpa Plugin
reCAPTCHA adalah sebuah layanan gratis dari google yang dikenal sebagai salah satu kode keamanan captcha yang digunakan banyak website
untuk menghindari spam bot pada berbagai form. Seperti captcha pada umumnya, reCAPTCHA mampu membedakan
apakah pengguna berwujud manusia atau komputer dengan
memberikan tantangan berupa
gambar atau suara terdistorsi untuk dijawab oleh pengguna. Uniknya, reCAPTCHA merupakan sebuah program yang digunakan untuk mendigitalkan buku-buku yang dimiliki oleh Google. Jadi gambar atau suara yang dikirim merupakan pindaian
buku-buku yang tidak dapat terbaca oleh OCR sehingga
dengan menggunakan reCAPTCHA
kita tanpa disadari telah berpartisipasi untuk mendigitalkan buku.
Mendaftarkan Domain ke Layanan reCAPTCHA
- Masuk ke alamat Google reCAPTCHA, kemudian klik "Use reCAPTCHA On Your Site"
- Klik "Sign Up". Apabila Anda sudah memliki akun Google, Anda bisa langsung login.
- Untuk mendaftarkan domain situs Anda. Klik bagian "Enable this key on all domains (global key)" apabila Anda ingin memasang reCAPTCHA di banyak domain. Selanjutnya klik "Create Key".
- Pada halaman berikutnya
Anda akan diberikan Public Key dan Private Key. Catat baik-baik kedua key tersebut karena akan digunakan untuk
menerapkan reCAPTCHA di form komentar.
Sampai disini proses pendaftaran selesai. Langkah berikutnya adalah mengunduh file "recaptcha-php-1.11.zip" di alamat ini
http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest. File ini merupakan file library khusus untuk reCAPTCHA yang
dikembangkan Google. Extract file recaptcha-php-1.11.zip tadi dan upload file "recaptchalib.php" yang terdapat pada file recaptcha-php-1.11.zip di direktori wp-includes.
Setelah file recaptchalib.php berhasil di upload, tambahkan code berikut ini pada file form komentar pada theme WordPress yang Anda gunakan.
<!--/reCAPTCHA-->
Setelah menambahkan kode di atas pada form comment.php, tambahkan code berikut pada file wp-comments-post.php yang berada di direktori blog Anda.
if (!$user->ID) {
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . WPINC . '/recaptchalib.php' );
$privatekey = "private_key_Anda";
$resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
wp_die( __('ERROR: The reCAPTCHA wasn't entered correctly. Go back and try it again! (reCAPTCHA said: ' . $resp->error . ')') );
}
}
Pada artikel berikutnya Insya Allah, saya akan menjelaskan bagaimana caranya memasang gambar captcha anti spam dengan session_start() di form komentar blog WordPress tanpa menggunakan plugin. Akhir kata, selamat mencoba dan salam.