Membuat Form Komentar Anti Spam dengan Recaptcha Library

Membuat Form Komentar Anti Spam dengan Recaptcha Library

Tutorial Information

ProgramPHP - MySQL
DifficultyStandar
Estimated Time30 Menit

Ketika membuat sebuah website, pernahkah Anda menemui kesulitan dalam membuat form komentar? Form komentar yang dimaksud disini adalah form komentar sederhana yang dapat disimpan…

Ketika membuat sebuah website, pernahkah Anda menemui kesulitan dalam membuat form komentar? Form komentar yang dimaksud disini adalah form komentar sederhana yang dapat disimpan ke dalam sebuah database. Bisa dikatakan bahwa form komentar dalam sebuah website adalah “sasaran empuk” bagi para spammer, apalagi jika tidak dilengkapi dengan script antispam. Komentar-komentar sampah pastilah akan bertebaran memenuhi database yang Anda gunakan.

Penulis mempunyai pengalaman yang mungkin bisa dijadikan pelajaran untuk pembaca sekalian. Suatu kali penulis pernah membuat sebuah form komentar tanpa dilengkapi dengan script antispam. Beberapa hari kemudian penulis dikejutkan dengan banyaknya komentar spam yang sangat tidak berguna, serta memenuhi tabel-tabel di dalam database. Mulai saat itulah penulis menyadari bahwa penggunaan script antispam sangatlah penting ketika mengembangkan suatu form komentar.

Salah satu solusi untuk menghindari spam pada form komentar yaitu dengan memanfaatkan script Recaptcha Library. Berikut adalah langkah-langkah untuk membuat form komentar antispam dengan Recaptcha Library.

Mendaftarkan Situs Web ke dalam recaptcha

  1. Masuk ke alamat http://www.google.com/recaptcha, kemudian klik “Use reCAPTCHA On Your Site”
    Tampilan Recaptcha

    Tampilan Recaptcha

  2. Klik “Sign Up”. Apabila Anda sudah memliki akun Google, bisa langsung login saja.
    Sign up Recaptcha

    Sign up Recaptcha

  3. Daftarkan situs web yang Anda buat. Tick bagian “Enable this key on all domains (global key)” apabila Anda ingin memasang Recaptcha di banyak domain situs. Selanjutnya klik “Create Key”.
    Create Recaptcha

    Create Recaptcha key

  4. Di halaman selanjutnya Anda akan diberikan Public Key dan Private Key. Catat baik-baik kedua key tersebut karena akan dimanfaatkan untuk mengakses Recaptcha API.
    Recaptcha Bisakomputer

    Catat Public key dan Private key

  5. Jangan lupa untuk mengunduh file ‘recaptchalib.php’ 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.

Membuat Form HTML

  1. Buatlah sebuah file, misalnya index.php yang akan berisi form HTML:
    <html>
    <head>
    <title>Contoh Form</title>
    </head>
    <body>
    <h1>Contoh Form Antispam</h1>
    <form method="post" action="submit.php">
    		<table>
    			<tr>
    				<td>Nama:</td>
    				<td><input type="text" name="nama"></td>
    			</tr>
    			<tr>
    				<td>Email:</td>
    				<td><input type="text" name="email"></td>
    			</tr>
    			<tr>
    				<td>Komentar:</td>
    				<td><textarea type="text" name="komentar"></textarea></td>
    			</tr>
    
    			<tr>
    				<td colspan="2">
    				<?php
    					require_once('recaptchalib.php');
    					$publickey = "...";
    					echorecaptcha_get_html($publickey);
    				?>
    				<input type="submit" name="submit" value="Submit"></td>
    
    			</tr>
    		</table>
    </form>
    </body>
    </html>
  2. Perhatikan script index.php di atas. Isikan Public Key yang Anda dapatkan tadi di bagian baris variabel $publickey.
  3. Buatlah file lain bernama submit.php. Fungsi script ini yaitu untuk menguji apakah kode captcha yang dimasukkan sudah benar/salah. Isikan Private Key yang Anda dapatkan tadi di bagian baris variabel $privatekey.
    <?php
    require_once('recaptchalib.php');
      $privatekey = "...";
      $resp = recaptcha_check_answer ($privatekey,
                    $_SERVER["REMOTE_ADDR"],
                    $_POST["recaptcha_challenge_field"],
                    $_POST["recaptcha_response_field"]);
    
    if (!$resp->is_valid)
      {
          // output jikakodecaptchasalah
    echo "Kodecaptcha yang Andamasukkantidak valid. Silakanulangilagi.";
      }
    else
      {
          // proses jikakodecaptchabenar
          $input = $_POST['teks'];
    echo "Kodecaptchasesuai. Andatelahmemasukkan input";
      }
    ?>
  4. Jangan lupa untuk meletakkan file recaptchalib.php, index.php, dan submit.php ke dalam satu folder. Kemudian coba panggil index.php melalui browser kesayangan Anda.
  5. Hasil tampilan seharusnya akan nampak seperti gambar di bawah ini. Ujilah dengan memasukkan kode captcha yang benar/salah. Apabila benar, maka akan mengeluarkan pesan “Kode captcha yang Anda masukkan tidak valid. Silakan ulangi lagi.”, sedangkan jika salah akan mengeluarkan pesan “Kode captcha sesuai. Anda telah memasukkan input”.
    Contoh Form AntiSpam

    Contoh Form AntiSpam

Anda tentu saja dapat memodifikasi contoh di atas sedemikian rupa. Misalnya di bagian submit.php, Anda ingin menambahkan query php untuk akses ke database atau menambahkan user input lain di bagian form index.php. Recaptcha tidak hanya digunakan untuk menghindari spam pada form komentar, tetapi juga sangat bermanfaat untuk fungsi form yang lain. Sebagai contoh form registrasi keanggotaan, pemesanan produk, pendataan, dan lain sebagainya.

Penutup

Recaptcha dikenal sebagai salah satu kode keamanan captcha yang digunakan banyak website untuk menghindari bot spam pada berbagai form. Seperti captcha pada umumnya, recaptcha mampu membedakan apakah pengguna berwujud komputer atau manusia dengan memberikan gambar berupa tulisan terdistorsi untuk dijawab oleh pengguna. Uniknya, captcha ini merupakan sebuah program yang digunakan untuk mendigitalkan buku-buku yang dimiliki oleh Google. Jadi gambar yang dikirim merupakan pindaian buku-buku yang tidak dapat terbaca oleh OCR sehingga dengan menggunakan Recaptcha kita tanpa disadari telah berpartisipasi untuk mendigitalkan buku. Sebagai tambahan, captcha adalah kependekan dari “Completely Automated Public Turing test to tell Computers and Humans Apart”.

Referensi:

http://www.google.com/recaptcha

http://cauza.web.id/artikel/158/menangkal-spam-komentar-dengan-recaptcha-pada-lokomedia/

Tag: , , , , ,

13 Comments

Leave Comment
  1. djsamm88 says:

    Mantap mas infonya, selama ini captcha nya gampang di boot.. thanks mas..

  2. sinta says:

    terimakasih untuk artikelnya sangat bermanfaat

  3. ismail says:

    Thx infonya.. sangat bermanfaat

  4. malum says:

    thanks gan infonya.
    langsung ke TKP >>>>>>>>>

  5. makasih bang… sangat membantu

  6. Terima kasih banyak atas share ilmunya, buat saya pribadi ini merupakan hal baru

  7. asikbookie says:

    makasih infonya gan, pas banget ane lagi cari yang beginian. tapi kalau mau taruh dipostingan gimana ya gan?? ane punya forum, mau masukan captha dulu sebelum buat thread. makasih sebelumnya. keep posting gan

  8. Handi Adm says:

    wah keren nih, bisa mengantisipasi spam atau robot

  9. yumna says:

    terimakasih om, saya coba praktekin dulu ya

  10. Tedi says:

    Terima kasih tutorialnya mang. Siap dipraktekkan. ombands.blogspot.com

Write Comment

Your email will not be published. The marked label is required.