Jumat, 11 Mei 2012

Membuat Kode Verifikasi Anti Spam Pada Form dengan JpGraph

Kode verifikasi anti spam saat ini banyak tersedia di beberapa form aplikasi atau guestbook. Kode verifikasi ini bersifat random dan harus dituliskan oleh orang yang akan mensubmit form tersebut. Mengapa kode tersebut diperlukan? Ya… kode itu dapat mencegah spam masuk ke dalam pemrosesan form. Perlu kita tahu bahwa spam itu dikirim oleh sebuah program (bukan dikirim manual oleh manusia), sehingga dia tidak bisa membaca kode yang tertera pada form. Hanya manusia lah yang bisa membaca kode tersebut.
Kode Verifikasi Anti Spam Pada Form dengan JpGraphKode verifikasi anti spam yang baik adalah yang tampak agak sulit dibaca, meski oleh manusiapun. Biasanya kode ini tidak ditampilkan dalam bentuk teks, namun berbentuk image. Image nya pun seringkali dibuat meliuk-liuk atau diberi semacam noise. Hal ini ditujukan mesin atau program pengirim spam sulit membaca kode.
Lantas… bagaimana cara membuatnya? Sulitkah? Tidak ternyata, karena modul untuk membuat kode verifikasi ini sudah dibuat, dan kita tinggal manfaatkan saja. Salah satunya adalah dengan modul yang disediakan JpGraph.

Kelebihan kode verifikasi yang dihasilkan oleh JpGraph ini adalah hasilnya yang cukup baik, karena adanya noise yang merata, namun masih cukup jelas dibaca. Selain itu panjang pendek nya kode dapat diatur dengan mudah.
Bagaimana cara membuatnya?
Langkah pertama adalah silakan download terlebih dahulu modul JpGraph di aditus.nu. Apabila Anda menggunakan PHP 5 ke atas, pilihlah JpGraph 2.x – series. Sedangkan bila PHP yang Anda gunakan adalah versi 4, maka pilih JpGraph 1.x – series.
Langkah kedua, ekstraklah file yang telah didownload ke folder yang Anda tentukan.
Langkah ketiga, masuklah ke folder JpGraph yang Anda ekstrak tadi, lalu cari file jpgraph_antispam.php yang ada di dalam foder src.
Langkah keempat, buatlah folder untuk meletakkan script eksperimen Anda dalam membuat fasilitas anti spam ini dalam direktori WWW atau htdocs.
Langkah kelima, copy lah file jpgraph_antispam.php ke folder yang telah Anda buat pada langkah keempat.
Langkah keenam, buat script eksperimen. Ingat script ini hanya latihan saja. Untuk selanjutnya Anda bisa kembangkan sendiri, misal untuk buku tamu atau apalah :-)
OK… untuk contoh disini, kita akan buat sebuah form untuk mengisikan sebuah data. Dalam form tersebut akan diletakkan kode verifikasi. Apabila user salah memasukkan kode verifikasi, maka setelah proses submit akan muncul keterangan ‘salah memasukkan kode’. Bila kode betul, maka akan muncuk konfirmasi kode verifikasi betul dan data yang dimasukkan ke dalam form akan ditampilkan.
Ini dia script untuk mengenerate kode random verifikasi
random.php

1.
2.session_start();
3. 
4.require_once "jpgraph_antispam.php";
5.$random = new AntiSpam();
6.$_SESSION['kodeRandom'] = strtoupper($random -> Rand(5));
7. 
8.?>
untuk mengenerate kode random, sebelumnya kita harus buat obyek, misalkan namanya $random. Sedangkan proses membuat kode random sendiri, kita gunakan Rand(n), n di sini menunjukkan panjang string kode random. Anda bisa mengaturnya sendiri. Nah… setelah kode random dibuat, lalu kode ini disimpan ke dalam session.
Oya, mengapa saya gunakan strtoupper(). Hal ini supaya user tidak dibingungkan dengan besar kecilnya huruf pada kode verifikasi. Dalam hal ini, semua huruf akan dianggap huruf besar/kapital, meskipun yang tampil huruf kecil.
Setelah itu, kita buat script untuk mengenerate image yang menampilkan kode random
spam.php

1.
2.session_start();
3.include "random.php";
4. 
5.$random -> Set($_SESSION['kodeRandom']);
6.$random -> Stroke();
7.?>
Perintah $random -> Set($_SESSION['kodeRandom']); maksudnya kita mensetting bahwa teks yang akan ditampilkan dalam image adalah berasal dari session. Sedangkan perintah $random -> Stroke();  untuk mengenerate imagenya.
Selanjutnya script spam.php ini harus kita sisipkan ke dalam form. Ini  dia script formnya
form.html
1.
"post" action="submit.php">
2.
3.
4.
5.
6.
7.
Masukkan Data"text" name="data">
"top">Masukkan Kode Verifikasi"spam.php">
"text" name="kode">
"submit" name="submit" value="Submit">
8.
Yang terakhir, kita harus membuat script validasi untuk mengecek kode verifikasi apakah benar atau salah
submit.php
01.
02.session_start();
03.$data = $_POST['data'];
04.$kode = $_POST['kode'];
05. 
06.if (strtoupper($kode) == $_SESSION['kodeRandom'])
07.{
08.echo "Terimakasih Anda sudah memasukkan kode dengan benar
"
;
09.echo "Anda memasukkan data ".$data;
10.}
11.else echo "Anda salah memasukkan kode verifikasi";
12.?>
Nah… untuk proses validasi hanya kita bandingkan saja antara kode dari session dengan kode yang disubmit user via form. Kalau sama ya berarti kode verifikasi benar. Ingat ya… karena dalam session sebelumnya kita gunakan strtoupper(), maka untuk validasi ini juga kita gunakan strtoupper() untuk kode yang disubmit dari form.
Berikut ini screen shot form untuk entri data yang di dalamnya terdapat kode verifikasi
Kode Verifikasi Anti Spam Pada Form dengan JpGraph
Anda dapat mendowload script di atas, termasuk jpgraph_antispam.php di bawah ini. Bila Anda download script di bawah ini, maka Anda tidak perlu mendownload modul JpGraph semuanya.
Download Script
Ok selamat mencoba.

Artikel Terkait


EmoticonEmoticon