28 Mei 2013

Cara Membuat Captcha di website dengan php

Apa itu captcha ? suatu bentuk uji tantangan-tanggapan (challange-response test ) yang digunakan da... thumbnail 1 summary
Apa itu captcha ?
suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. Proses ini biasanya melibatkan suatu komputer (server) yang meminta seorang pengguna untuk menyelesaikan suatu uji sederhana yang dapat dihasilkan dan dinilai oleh komputer tersebut. Karena komputer lain tidak dapat memecahkan CAPTCHA, pengguna manapun yang dapat memberikan jawaban yang benar akan dianggap sebagai manusia. Oleh sebab itu, uji ini kadang disebut sebagai uji Turing balik, karena dikelola oleh mesin dan ditujukan untuk manusia, kebalikan dari uji Turing standar yang biasanya dikelola oleh manusia dan ditujukan untuk suatu mesin. CAPTCHA umumnya menggunakan huruf dan angka dari citra terdistorsi yang muncul di layar. Sumber wikipedia

Bagaimana bentuk captcha ?

Apa fungsi captcha ?
Agar pemilik website / blog mengetahui yang mengetahui bukanlah BOT/program auto. Contohnya anda memaki entry data untuk pelanggan seperti ini :

Kalau tidak ada captcha , BOT/program auto bakal bisa entry form tersebut secara cepat.

Bagaimana cara memasukkan captcha ke website saya?
1. download plugin captcha dari google yaitu recaptcha
2. Buatlah akun google baru atau jika sudah ada akun silahkan login via gmail, karena teknologi google sudah cloud computing, 1 akun dapat dipakai untuk login aplikasi google lainnya ( Gmail,Webmaster,ReCaptcha,AppStore,dll)
3. Buka link ReCaptcha dan buat sebuah domain anda dan Create Key


Keterangan :
Enable this key on all domain (global key) = Jika anda ada domain lain atau pun blog, centang saja karena repot juga bikin 1 web 1 key.

4. Setelah mengikuti langkah 3, maka akan ditampilkan halaman detail kode nya

Simpan data public key dan private key tersebut.

5. Mempersiapkan kode
<?php
include("recaptchalib.php"); //masukkan plugin recaptcha yg didownload tadi ke 1 folder web
$publickey = "6LelAeISAAAAAO-pKfjFdXXXXXXXXXXX"; //public key
$privatekey = "6LelAeISAAAAAMRjURtH6Ztvt8XXXXXXXX "; //private key
$resp = null; //default error variable
$error = null; //default error variable
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="?act=1"> //form aksi ke ?act=1
<div><label>NAMA</label><input type="text" name="abc" /></div>
<div>
<?php //masukkan dalam kode HTML pakai kode PHP
echo recaptcha_get_html($publickey, $error); //output captcha nya
?>
</div>
<div><input type="submit" name="submit" value="KIRIM"/></div>
</form>
<?php

if(isset($_GET['act'])) //jika variable url act ada
{
    if ($_POST["recaptcha_response_field"]) { //cek captcha
        $resp = recaptcha_check_answer ($privatekey,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if ($resp->is_valid) { //jika betul
                echo $_POST['abc'];
        }else{
            $error = $resp->error; //jika salah
        }
    }
}
?>
</body>
</html>
Oh ya,kalau anda mau trik captcha tersebut. Ada 2 kata pada 1 captcha , anda cukup masukkan
KarakterYangMiring +a atau a+KarakterYangMiring

Thank for visit my blog