Connect With Us

Sample Text

Artikel komputer, tutorial komputer, blog, seo dan belajar bisnis online gratis untuk pemula

Some Links

Header Ad Banner

BTricks

BThemes

Facebook Fans

Recomended

Diberdayakan oleh Blogger.

Sample Links

Sample Links

Sample Links

Membuat Kode Captcha Sederhana dengan PHP

Diposting oleh delimtts Jumat, 14 Januari 2011

   
    Kata-kata kode captcha mungkin sudah tidak asing lagi buat para SPAMer. Mereka  pasti akan mencari celah dari kelemahan sistem kode captcha di suatu website, agar  dapat mempermudah tindakan SPAM mereka. Tapi pada artikel ini kita tidak akan  mempelajari cara mencari kelemahan suatu sistem captcha.

Melainkan, kita akan mencoba untuk membuat kode captcha sederhana dengan bantuan PHP. Nantinya kita akan menyisipkan kode tersebut pada form kontak yang sudah dipelajari pada postingan sebelumnya.
Langsung aja deh, kita akan membuat 3 buah file. File yang pertama berisi fungsi, yang kedua berisi form dan yang ketiga berisi kode untuk memproses data dari form.

Oke, untuk pertama kita akan membuat file "fungsi.php" yang isinya kode di bawah ini. Kalau belum punya phpEditor, Anda bisa membuatnya dengan bantuan notepad.



<?php

function captcha()
{
$kar="0123456789";
//acak karakter
srand((double)microtime()*100000);
for($i=0;$i<5;$i++)
{
$c_acak=rand()%10;
$capt.=substr($kar,$c_acak,1);
}
return $capt;
}

?>
Setelah selesai membuatnya, jangan lupa simpan dengan nama "fungsi.php" di folder server localhost anda (belum punya server web localhost?? Klik disini, untuk membuatnya). Kalau anda menggunakan notepad, jangan lupa untuk mengganti Save as type-nya dengan All Files.

Setelah itu kita akan membuat file "form.php". File ini akan berisi form inputan untuk user. Berikut adalah kode dari file form.php.



<html>
<head>
<title>FORM KONTAK</title>
</head>
<body>
<form action='proses_form.php' method='post'>
<table border=0 cellpadding=4>
<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>Subjek:</td><td><input type='text' name='subjek'></td></tr>
<tr><td>Pesan: </td><td><textarea name='pesan' cols='20' rows='5'></textarea></td></tr>
<?
include('fungsi.php');
$kode = captcha();
echo "<tr><td>$kode</td><td><input type='text' name='kode_user' maxlength=5>Isikan sesuai kode di samping</td></tr>
<input type='hidden' name='kode_server' value='$kode'>";
?>
<tr><td colspan=2><input type='submit' value='KIRIM'></td></tr>
</table>
</form>
</body>
</html>
Setelah itu silakan simpan di folder yang sama dengan file fungsi.php, dan kita mulai dengan file baru, yaitu file "proses_form.php". File inilah yang nantinya akan digunakan untuk memproses data dari file "form.php" yang diisikan oleh user. Berikut adalah isi dari file proses_form.php.



<?
//dapatkan data
$nama=$_POST['nama'];
$email=$_POST['email'];
$subjek=$_POST['subjek'];
$pesan=$_POST['pesan'];
$kode_user=$_POST['kode_user'];
$kode_server=$_POST['kode_server'];


if($kode_user == $kode_server)
{
$tujuan="wilianto.indra@gmail.com"; //ganti dengan email anda
$header="From: $email";


//kirim
@ mail($tujuan, $subjek, $pesan, $header);
echo "Pesan anda sudah berhasil terkirim";
}
else
echo "Kode captcha tidak valid";
?>
Simpan di folder yang sama juga dengan file fungsi.php dan form.php. Sekarang silakan coba dulu web yang sudah anda buat.

PENJELASAN KODE
File "fungsi.php"
File ini berisikan fungsi untuk mengacak kode captcha. Pertama kita tentukan karakter kode di dalam variabel $kar, dalam hal ini kita mengisikan angka dari 0-9. Lalu kita acak karakter dari $kar dengan fungsi srand((double)microtime()*100000). Dan yang terakhir kita gunakan looping for, untuk menampilkan hasilnya, dalam hal ini kita ambil 5 kode pertama saja.


File "form.php"
File ini hampir sama dengan file form.html yang pernah kita buat pada tutorial sebelumnya. Hanya saja ada kode


<?
include('fungsi.php');
$kode = captcha();
echo "<tr><td>$kode</td><td><input type='text' name='kode_user' maxlength=5>Isikan sesuai kode di samping</td></tr>
<input type='hidden' name='kode_server' value='$kode'>";
?>
Di dalam kode di atas, kita memanggil file fungsi.php yang tadi kita buat dengan fungsi include(). Lalu kita simpan hasil dari fungsi captcha() di dalam variabel $kode.

File "proses_form.php"
Dalam file ini, pertama-tama kita buatkan variabel untuk menyimpan data dari user. Setelah itu kita cek, apakah inputan kode dari user sama dengan kode dari server. Jika sama maka kirimkan pesan, tapi jika gagal, tampilkan pesan error.

Sekian tutorial kali ini, mudah-mudahan bisa membantu.

Posting Komentar