Mencegah spam masuk pada form dengan css

Mencegah spam masuk pada form ada berbagai cara bisa memakai captcha atau dengan cara lain salah satunya adalah dengan main di css, beberapa hari kemarin aku dimintai tolong oleh salah seorang teman yang mempunyai perusahaan IT, Mas Agus untuk mencegah spam yang masuk ke website nya , vipresindo.com, padahal dia sudah pakai captcha yang dia buat sendiri, akhirnya setelah browsing aku nemu artikel yang bagus yakni di sini http://klauskjeldsen.dk/avoid-html-form-spam-using-css/

Konsepnya sederhana hanya main di css dan tidak perlu dengan captcha

Contoh misal pada form buku tamu

<div>

<label>Name</label>
<input type=”text” name=”name”>
</div>
<div>
<label>Email</label>
<input type=”text” name=”email” >
</div>
<div>
<label>Comment</label>
<input type=”text” name=”comment” >
</div>
<div>
<input type=”text” name=”submit” value=”submit” >
</div>
</form>

Kita tambahi input type satu lagi

<input type=”text” name=”spam”  id=”spam”>

dan untuk di css kita beri style disembunyikan :

<style type=”text/css”>

#spam{

visibility: hidden;

display:none

}
</style>

sehingga setelah script lengkapnya adalah :

<style type=”text/css”>

#spam{

visibility: hidden;

display:none

}

</style>

<form action =”simpan.php” method=”post”>

<div>

<label>Name</label>

<input type=”text” name=”name”>

<input type=”text” name=”spam”  id=”spam”>

</div>

<div>

<label>Email</label>

<input type=”text” name=”email” >

</div>

<div>

<label>Comment</label>

<textarea name=”comment” ></textarea>

</div>

<div>

<input type=”text” name=”submit” value=”submit” >

</div>

</form>

sehingga hasilnya adalah bahwa ada satu input type yang kita hidden atau sembunyikan , dengan maksud agar tidak terlihat oleh pengunjung .

Tips ini untuk mengelabuhi spam, spam biasanya dikirim otomatis mengenali semua input dalam form baik yang terlihat atau tidak. sehingga yang kita sembunyikan pun akan diisi nilainya oleh spam. Dari sini kita bisa tarik kesimpulan kalau input yang kita sembunyikan ternyata ada isinya berarti jelas itu spam, karena pengunjung yang benar2 orang tidak akan mengisinya.

untuk script php di file simpan.php adalah :

$submit = $_POST[‘submit’];

$name   = $_POST[‘name’];

$email = $_POST[’email’];

$comment = $_POST[‘comment’];

$spam  = $_POST[‘spam’];

// kalau form disubmit dan input spam nya kosong atau tidak ada nilainya baru diproses

if(isset($submit) and !isset($spam))

{

// lakukan insert ke database

$sql = “” INSERT into table_guest (name, email, comment) VALUES (‘”.$name.”‘, ‘”.$email.”‘ , ‘”.$comment.”‘);

$query = mysql_query($sql);

if($query) echo ‘berhasil masuk’;
}

alternatif selain menggunakan css adalah menyembunyikannya memakai javascript

contoh :

document.getElementById(“spam”).style.display =”none”;

atau kalau memakai jquery:

$(“#spam”).hide();

5 thoughts on “Mencegah spam masuk pada form dengan css

    1. coba di print_r($_POST) gan

      dilihat apakah ada submit yang masuk
      dan dilihat apakah spam masih ikut masuk

      kondisi yang benar
      ada submit yang masuk
      dan spam kosong tidak ada isinya

      Suka

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s