Selasa, 27 September 2011

Cara membuat captcha sederhana


Di artikel ini aku akan mencoba untuk menjelaskan cara membuat captcha yang sangat sederhana.. bagus buat pemula yang ingin belajar php.. Pada captcha ini hanya mengunakan captcha berupa string atau pun berupa angka dan only text (no image).. Mungkin dari sebagian orang berpikir tidak terlalu berguna membuat captcha tanpa image, karena masih bisa di robot.. tapi sekali lagi, disini kita akan mempelajari basic captcha, jadi hanya untuk jadi bahan pembelajaran.
Cara nya mungkin sangat mudah bagi yang udah berpengalaman dengan PHP tetapi untuk yang baru belajar PHP ini akan sangat berguna..
Pada intinya captcha adalah proses verifikasi suatu form untuk di terima sehingga data yang ada di input..
Hasil verifikasi ini tentu merupakan hasil yang sudah lulus sensor (wkwkw.. gayanya) maksudnya lulus security alias bebas dari robot..
Captcha terdiri dari 2 bagian, yaitu bagian untuk meletakkan kode (di form) dan bagian untuk memverikasi kode (untuk mengecek kebenaran kode),..
Kita asumsikan begitu jadi aku akan memberikan sample sederhana dari captcha..
Pertama bagian form nya..
<?php
echo "<form action="file.php" method="post">";
//generate kode
$captcha_angka=rand(1,100000); //ini jika captcha angka
$captcha_huruf=substr(str_shuffle("qwertyuiopasdfghjklzxcvbnm",0, 5));
//perhatikan baik2 untuk captcha huruf, terdapat 2 fungsi yaitu substr() dengan str_shuffle().
//Substr buat mengambil huruf (dalam contoh mengambil 5 huruf acak)
//str_shuffle buat mengacak huruf alias buat mengobra abrik huruf agar menjadi tidak beraturan
//selanjutnya tinggal menampilkan captcha tersebut ke form
echo "Captcha :
<b>$captcha_angka</b><br/>
<input type="text" name="captcha">
<input type="submit" value="Verifikasi">
";
//lalu bagaimana caranya mengecek bahwa captcha yang di masukkan benar??
//tentu saja kita juga harus mengirim kode captcha yang benar kedalam input hidden
echo "<input type="hidden" name="captcha_bener" value="$captcha_angka">
</form>";
?>
Selesai dah… itu adalah bagian pertama dari captcha yang biasanya di letakkan di form.
Selanjutnya adalah bagian kedua yaitu mengecek apakah captcha yang di masukkan benar atau salah..
Karena pada form itu kita juga sudah mengirim kode captcha yang benar. maka pada bagian ke 2 ini,, kita hanya perlu mencocokkan apakah kode captcha yang di masukkan user benar atau salah
if($_POST["captcha"]!=$_POST["captcha_bener"])
{
echo "Kamu salah memasukkan captcha";
}
else
{
echo "Kamu benar dalam memasukkan captcha";
}
?>
Udah, gitu aja…. ya di coba aja ya… semoga sukses belajarnya.. kalo udah ngerti ntari bisa pake image.. kalo pake image sm aja cuma string yang di random td ($captcha_angka dan $captcha_huruf) di masukkan ke dalam image dengan memanfaatkan fungsi php imagecreate()..
ntar jadi image.. abis itu sama aja..

Tidak ada komentar:

Posting Komentar

jangan lupa komen / promosi blog kalian di kotak komentar ya ..!!