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();
Terimkasih informasinya Gan.,., 😀
SukaSuka
sama sama gan
SukaSuka
gan program diatas sudah kubuat tp, koq gk bisa nyimpan jadinya
SukaSuka
yang ini gan !isset($spam))… jadi gk nyimpan ke db
SukaSuka
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
SukaSuka