Membuat script anti spam sederhana dengan PHP

 

Anti spam adalah semacam kode verifikasi yang diberikan server kepada user atau pengunjung agar request dari user dapat ditindaklanjuti. Antispam biasanya terdapat pada proses registrasi accont pada suatu website seperti pembuatan email. Antispam biasanya terdapat juga pada bagian komentar dan polling dari sebuah webiste. Sesuai dengan namanya antispam bertujuan agar yang mengisi form komnetar atau yang membuat permintaan registrasi benar-benar orang yang berniat untuk itu. Karena bisa saja yang melakukan itu semua telah diprogram secara otomatis oleh orang-orang yang ingin berbuat jahat. Biasanya para spammer bertujuan untuk mengiklankan produk atau website mereka secara otomatis atau untuk membobol server dengan melakukan pemakaian bandwidth besar-besaran.

Untuk mengatasi perilaku spam, maka dibuatlahlah script antispam dengan menggunakan bahasa pemrograman web PHP. Sangat banyak sekarang variasi dari antispam yang kita lihat. Biasanya kode verifikasi yang kita inputkan berupa gabungan huruf dan angka yang bersifat case-sensitive. Ada juga yang terdiri dari kombinasi angka saja. Ada beberpa jenis antispam yang cukup menarik dengan menampilkan dua kata secara acak yang memiliki arti.

Berikut ini contoh sederhana program antispam yang memanfaatkan teknik session dan fungsi grafis yang tersedia pada PHP. Fungis session adalah untuk mencocokan kode verifikasi yang diberikan server dengan kode yang diterima dari user. Di lihat dari penulisan kode sessionnya contoh script di bawah jelas menggunakan program PHP versi 5. Terdapat dua buah file PHP: kode.php untuk menampilkan grafis gambar secara acak dan verifikasi.php untuk proses verfikasi kode yang dimasukkan

kode.php
<?
session_start();
$_SESSION[‘data_string’]=$_POST[‘data_string’];
// fungsi grafis pada PHP
$kanvas=imagecreate(200,50);
$putih=imagecolorallocate($kanvas,000,000,255);
$kuning=imagecolorallocate($kanvas,255,255,144);
// untuk membangkitkan string secara acak
srand((double)microtime()*1000000);
// enkripsi string baru sebanyak 32 karakter dengan kombinasi huruf dan angka kecil
$string=md5(rand(0,9999));
// karakter acak yang diambil dimulai dari karakter ke-15 sebanyak 5 digit
$data_string=substr($string,15,5);
// menampilkan kode acak di atas gambar
imagefill($kanvas,4,10,$kuning);
imagestring($kanvas,20,50,21,$data_string,$putih);
imagepng($kanvas,”verify.png”);
imagedestroy($kanvas);
echo “Untuk kevalidan data, ketikkan kode yang anda lihat pd gambar di bawah(case sensitive)<br><br>
<img src=\”verify.png\”><br><br>
<form action=verifikasi.php method=post>
<input type=text name=kode>
<input type=submit value=Go name=verify>
</form>”;
?>

verifikasi.php
<?
session_start();
$data_string=$_SESSION[‘data_string’];
// fungsi trim untuk menghapus spasi di kanan-kiri tulisan
$kode=trim($_POST[‘kode’]);
if($data_string==$kode){
echo “verifikasi sukses”;
}
if($data_string!==$kode){
echo “Maaf, kode yang dimasukkan salah”;
}
?>

Demikian cara pembuatan kode verifikasi antispam sederhana semoga bermanfaat

Postingan dengan judul Membuat script anti spam sederhana dengan PHP ditulis oleh ridho, Penulis dapat dihubungi lewat akun sosial media berikut

Follow on Twitter

Connect on Facebook

Find on Google+

Find on LinkedIn

8 Responses to “Membuat script anti spam sederhana dengan PHP”

  1. ery56u says:

    d68678

  2. Yusri says:

    kenapa adawarni kalo saya jalankan script diatas?
    warningnya kayak gini :
    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0;
    apanya yang salah ?
    mohon penjelasan

  3. Ridho says:

    Mas nya pake php versi berapa ya? Script di atas, di testnya persis spti d atas atau tlh disisipkan ke kode lain?

  4. feto says:

    waaahhhhh script nya bagus juga nih boleh saya guna kan untuk blog saya…^_^

    terima kasih infonya, silakan mampir yaa ke sini dan jika mau artikel menarik lainnya silakan berkunjung ke sini yaaa…

  5. rizki says:

    mas ridho koq ada warning “Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:\AppServ\www\testantispam\index.php:9) in C:\AppServ\www\testantispam\index.php on line 10”

    knp yah??
    scriptnya mah jalan cma ada warning aja..
    blz ke email aja..

  6. ridho says:

    bisa jalan kok, kode verifikasi pd blog ini pake yg script di atas.

    biasanya masalah seperti di atas muncul karena salah urutan dalam penempatan fungsi2 php. sepertinya mas rizki memakai kode header(location:…) dan kode ini harus diletakan paling atas

  7. yulyanti says:

    kenapa gag mau?
    gambar verifikasi nya pecah gitu.
    apa yang salah yach?
    dari semua kode yang aku coba.
    pecah semua gambarnya..TT

  8. Great post, I conceive blog owners should larn a lot from this weblog its rattling user pleasant. So much wonderful info on here :D.

Leave a Reply