Anti Spamer pada “Form” GuestBook

No comment 10079 views

guestbookSpamer, 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

author
Bangfad - Bukan Blogger Profesional, hanya mencoba berbagi pengalaman dan cerita. Belajar, Belajar dan Belajar untuk menjadi seorang penulis profesional dengan hobi Menulis, Ngoprek dan Mancing.
No Response
  1. author

    saranghe9 years ago

    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….

    Reply
  2. author

    jendri9 years ago

    thanks buat tips nya patut di coba…:)>-:)>-

    jendri’s last blog post..Kejujuran dan saling percaya??

    Reply
  3. author

    Nyante Aza Lae9 years ago

    wuah..
    gak mudheng buat dq yg gaptek
    *bharap ada yg mo bantuin*

    Nyante Aza Lae’s last blog post..Sugesti dan Kultus

    Reply
  4. author

    morokoa9 years ago

    Fad.. guest book kok gak ada kolom pengisiannya? 🙁

    morokoa’s last blog post..Money Politic Caleg Golkar Dilimpahkan ke Gakumdu

    Reply
  5. author

    Adnub9 years ago

    iya itu cuman turing number buat dimasukan di guestbook atau shoutbox aja :D:”>

    Adnub’s last blog post..Anti Spamer pada “Form” GuestBook

    Reply
  6. author

    How I Lost Thirty Pounds in Thirty Days8 years ago

    Hi, interesting post. I have been pondering this topic,so thanks for posting. I will certainly be coming back to your posts.

    Reply
  7. author

    pinoqio8 years ago

    pernah di coba di php5 lom?

    Reply
  8. author

    koko8 years ago

    :-@

    Reply
  9. author

    oce8 years ago

    test:d

    Reply
  10. author

    LorencoMut7 years ago

    I need to contact site admin urgently. Can you understand me?
    Hope for no silence

    Reply
  11. author

    AssangeTib7 years ago

    Dont touch WIKILEAKS, faked DEMOCRACY!!!
    Hih you hear me??
    bye bye ;))

    Reply
  12. author

    Avgustami3 years ago

    World Indian Drugs Leader – We have one function and one function only, to save you money on your medication. We provide top-quality products, world-class customer service, excellent value for money, and we welcome your feedback. Try us – you will not be disappointed!

    Reply

Leave a reply "Anti Spamer pada “Form” GuestBook"