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