Anti Spamer pada “Form” GuestBook
Spamer, banyak teman-teman yang menanyakan tentang blognya di penuhi dengan komentar yang enggak², hem aku langsung sok udzon ama si Spamer, pasti ulahnya dia yang sering memenuhi database buku tamu, shutbox, form pengiriman. Aku langsung berkungjung kerumah paman google untuk meminta pendapat beliau, apa yang seharusnya aku lakukan agar terhindar dari para tamu yang tak pantas untuk di hormati.
Salah satu cara untuk mengatasi SPAM pada daerah vital (guestbook, shoutbox, contact de el el) adalah dengan menggunakan CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart), sebuah cara yang diharapkan mampu membedakan antara manusia dan robot. Bentuk implementasinya bisa bermacam-macam, akan tetapi yang paling banyak digunakan adalah dengan menggunakan gambar.
Berikut ini kode yang perlu Anda tambahkan pada bagian awal dari halaman guesbook Anda:
include “fungsi.php”;
session_start();
$_SESSION['random-words'] = generate_word();
Baris pertama digunakan untuk menyertakan file captcha.php yang akan berisi fungsi untuk menghasilkan gambar yang kita perlukan. Baris kedua digunakan untuk menjalankan session. Baris ketiga untuk mengacak kata (kita menggunakan fungsi generate_word) yang hendak dibuat dalam bentuk gambar. Kata ini kita simpan pada session yang nanti akan kita gunakan untuk verifikasi.
Berikutnya pada bagian form untuk guestbook, tambahkan kode dibawah ini
Code :
Code
Isi dari file fungsi.php:
function generate_word()
{
$input = array(”0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”,”k”,”l”,”m”,”n”,”o”,”p”,”q”,”r”,”s”,”t”,”u”,”v”,”w”,”x”,”y”,”z”,”A”,”B”,”C”,”D”,”E”,”F”,”G”,”H”,”I”,”J”,”K”,”L”,”M”,”N”,”O”,”P”,”Q”,”R”,”S”,”T”,”U”,”V”,”W”,”X”,”Y”,”Z”);
$rand_keys = array_rand($input, count($input));
$hash=$input[$rand_keys[0]] . $input[$rand_keys[1]] . $input[$rand_keys[2]] . $input[$rand_keys[3]] . $input[$rand_keys[4]] . $input[$rand_keys[5]] . $input[$rand_keys[6]] . $input[$rand_keys[7]];
return $hash;
}
Inti dari fungsi ini hanyalah mengambil 8 karakter alphanumerik yang kita simpan sebagai array secara acak dan menggabungkannya sebagai sebuah string. Pada contoh ini dibatasi hanya 8 karakter, akan tetapi bisa disesuaikan dengan kebutuhan. Wah Gampang sekali ?
Sekarang pada bagian verifikasinya. Karena kata awal tadi sudah tersimpan pada session, maka yang perlu kita bandingkan hanyalah input yang dikirimkan user dengan nilai dari session yang tadi sudah kita buat di awal
if ($code != $_SESSION['random-words'])
{
echo “Kode Tidak Cocok!”;
}
else
{
echo “Kode Cocok!”;
}
Lalu bagaimana dengan pembuatan gambarnya sendiri? Cukup mudah!! Buat file bernama captcha.php yang berisi
session_start();
header(”Content-type: image/png”);
$image = imagecreate(80, 15);
$bg_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 20, 0, 0, $_SESSION['random-words'], $text_color);
imagepng($image);
imagedestroy($image);
Baris 1 digunakan untuk menjalankan session. Perintah ini diperlukan, karena kita perlu mengakses nilai yang tersimpan pada session (informasi kata yang hendak dikonversi kedalam bentuk gambar).
Baris 2 digunakan untuk menentukan tipe data yang akan dihasilkan oleh halaman ini. Pada contoh ini tipe data yang dipakai adalah citra dengan format PNG (Anda bisa mengganti dengan JPEG atau format gambar yang lain).
- Baris 3 digunakan untuk membuat sebuah palet gambar dengan ukuran yang telah ditentukan.
- Baris 4 digunakan untuk mengalokasikan warna background untuk gambar (disini kita memilih warna putih)
- Baris 5 digunakan untuk mengalokasikan warna untuk teks (warna hitam)
- Baris 6 digunakan untuk membuat sebuah teks dengan warna dan ukuran font yang telah ditentukan (dipakai 20)
- Baris 7 digunakan untuk membuat gambar yang dimaksud
- Baris 8 digunakan untuk mengapus resource yang telah dibuat
Hasilnya bisa dilihat dibawah:
Contoh diatas merupakan versi paling sederhana. Jika Anda berminat, Anda bisa menambahkan berbagai efek yang mampu mempersulit pembacaan, seperti dengan menambahkan berbagai efek-efek lain yang biasa Anda temui pada implementasi CAPTCHA pada berbagai situs besar.
Sumber: actualtraining.wordpress.com
Hasil Pencarian dari Search Engine:
- form guestbook (2)
- auracms di serang spam (1)
- mengubah ukuran font di phoca guestbook (1)
- mengganti chapta phoca guestbook (1)
- mengatasi spam di shoutbox (1)
- mengatasi spam di pocaquest book (1)
- mengatasi spam di phoca guestbook (1)
- menangkal spam di buku tamu phoca guestbook (1)
- contoh buku tamu dengan captcha (1)
- session_start phoca guestbook captcha (1)














12 Responses to “Anti Spamer pada “Form” GuestBook”
April 13th, 2009 saat: 4:49 PM
buatkan jak lah… nda ngerti. ini yang model pak veri nyuruh vi kasi ke blog dolok kee?:d:”>
btw, camane tawaran kemarin sewa unlimited hosting bagi 2….
April 13th, 2009 saat: 7:58 PM
thanks buat tips nya patut di coba…:)>-:)>-
jendri’s last blog post..Kejujuran dan saling percaya??
April 16th, 2009 saat: 10:13 AM
wuah..
gak mudheng buat dq yg gaptek
*bharap ada yg mo bantuin*
Nyante Aza Lae’s last blog post..Sugesti dan Kultus
April 24th, 2009 saat: 12:51 AM
Fad.. guest book kok gak ada kolom pengisiannya?
morokoa’s last blog post..Money Politic Caleg Golkar Dilimpahkan ke Gakumdu
April 24th, 2009 saat: 1:35 AM
iya itu cuman turing number buat dimasukan di guestbook atau shoutbox aja
:”>
Adnub’s last blog post..Anti Spamer pada “Form” GuestBook
May 4th, 2009 saat: 5:41 AM
Hi, interesting post. I have been pondering this topic,so thanks for posting. I will certainly be coming back to your posts.
May 8th, 2009 saat: 7:11 PM
pernah di coba di php5 lom?
May 8th, 2009 saat: 11:15 PM
Belom pulak tuh
May 18th, 2009 saat: 1:47 PM
:-@
June 5th, 2009 saat: 10:17 PM
test:d
December 18th, 2010 saat: 7:03 PM
I need to contact site admin urgently. Can you understand me?
Hope for no silence
January 15th, 2011 saat: 1:42 AM
Dont touch WIKILEAKS, faked DEMOCRACY!!!
)
Hih you hear me??
bye bye
Leave a Reply