Pasang Quiz Anti Spam Tanpa Plugin
Beberapa waktu yang lalu saya pernah membuat postingan tentang cara mengatasi dan mencegah spambot dengan atau tanpa plugin, kali ini akan saya bahas tips lainnya tentang cara ampuh mencegah spambot masuk ke blog wordpress yakni dengan menggunakan system quiz. Mungkin akan ada yang bilang akh udah biasa itu, kan banyak plugin-plugin model quiz seperti itu.
Tapi tips kali ini lain, karena kita akan memasang quiz anti spam tanpa menggunakan plugin, dan cukup menambahkan sedikit script di file wp-comments-post.php yang ada di root direktori dan file comments.php yang ada di folder theme yang digunakan. Metode kerjanya hampir sama dengan plugin model quiz, setiap ada yang mau berkomentar harus menjumlahkan angka yang ada di quiz tersebut. Kelebihannya karena tidak menggunakan plugin tidak akan menambah jumlah queri dan tidak akan mengganggu performa wordpress anda.
Kelebihan lain dari cara ini, sebagai admin anda tidak perlu menjawab pertanyaan dari quiz tersebut (penambahan angka) ketika akan berkomentar/membalas komentar, syaratnya anda harus dalam posisi log-in. Jadi tidak seperti plugin quiz anti spam pada umumnya yang agak kurang ramah sama si boss (admin), karena setiap kali akan berkomentar tetap harus menjawab quiz yang ada, dan ketika lupa dengan jawabannya walaupun anda sebagai admin tetap akan dianggap spam (Bye Bye, SPAMBOT), kasihan bener komentar di blog sendiri dianggap spammer heee …
Cara Pasang Script Quiz Anti Spam Tanpa Plugin :
1. Buka file wp-comments-post.php yang ada di root direktori wordpress anda.
2. Cari kode seperti ini : if ( '' == $comment_content )
setelah ketemu, tambahkan script di bawah ini, di atas atau sebelum kode tersebut :
wp_die( __('Error: please type a comment.') );
if ( !$user->ID ) { $aaa = trim($_POST[aaa]); $bbb = trim($_POST[bbb]); $subab = trim($_POST[subab]); if((($aaa+$bbb)!=$subab)|| empty($subab)){ wp_die( __('Sorry, You must answer the question to post a comment. Please go back and try again.!') ); } }
3. Buka file comments.php yang ada di folder theme yang anda gunakan.
Cari kode seperti ini : <input name="submit" type="submit" id="submit"
setelah ketemu, tambahkan script di bawah ini, di atas atau sebelum kode tersebut :
<?php if (!$user_ID) : ?> <?php $aaa=rand(0,5); $bbb=rand(3,9); ?><?php echo $aaa; ?>+<?php echo $bbb; ?>= <input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:20px" /><?php if ($req) _e('(Plus)'); ?> <input name="aaa" value="<?php echo $aaa; ?>" type="hidden" /> <input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /> <?php endif; ?>
Jika tombol submit komentar theme anda ada di sebelah kiri, maka kode/script tersebut anda tempatkan setelah kode untuk menampilkan tombol submit komentar (kode <input name="submit" type="submit" id="submit"
dan seterusnya). Ini dia contoh screenshot hasil dari tutorial di atas :
Anda juga bisa menempatkan dan memodifikasi kotak dan angka-angka anti spam quiz tersebut menyatu dengan field atau kotak yang biasa digunakan untuk menuliskan nama, email dan website ketika berkomentar. Contohnya seperti yang saya gunakan di blog ini.
Keterangan :
- Fungsi script yang pertama (yang ada di file wp-comments-post.php) akan mencegah komentar masuk ke wordpress anda jika dia lupa menjawab quiz atau menambahkan angka yang ada. Ketika quiz tidak dijawab maka akan keluar notifikasi ‘Sorry, You must answer the question to post a comment. Please go back and try again.!’. Anda bisa mengganti notifikasi tersebut sesuai selera anda, misalnya diganti dengan ‘Maaf yaa, silahkan dijumlahkan dulu angkanya’.
- Fungsi script yang ke dua (yang ada di file comments.php) akan menampilkan angka-angka yang harus dijumlahkan dan sebuah kotak untuk tempat menuliskan jawaban dari pertanyaan quiz tersebut.
- Jika anda melakukan update wordpress, maka fungsi script yang pertama (yang ada di file wp-comments-post.php) harus disetting ulang. Dan jika anda ganti theme maka fungsi script yang ke dua (yang ada di file comments.php) harus disetting ulang.
mantabb mas.. saya bookmark.. kalau pas ada waktu senggang langsung saya praktekkan.. biar mengurangi beban plugin
Reply
yooiii…keren ma men……
bookmark juga lah…
Reply
Vulkanis Reply:24-04-2011 at 23:09
ikutan bookmark juga saya teh atuh
Reply
Susah-susah sulit, tetapi hasilnya maksimal sekali. Nice info pak Alwi, jangan lupa juga BW ke blog saya!!!
Reply
Vulkanis Reply:24-04-2011 at 21:53
Memang keren banget nih Kang Aming
Reply
Hmm Kolom Komentar Di Blog Ini Mantap
Pake AJAX yah ? Bagi Bagi Donk Tipsnya Tanpa Plugin
Reply
Tips yang menarik dan sudah berhasil dicoba, terima kasih.
Reply
Sebagai pemula, aku nyimak dulu ya pak? Salam kenal. Salam rindu dan salam menanti.
Reply
Punya saya kok beda ya mas?
Di file comment.php, yang ada malah gini codenya:
<?php
if (function_exists('wp_list_comments')) :
include (TEMPLATEPATH . '/comments-new.php');
else :
include (TEMPLATEPATH . '/comments-old.php');
endif;
Bingung saya mas, di file comments-new.php dan comments-old.php juga gak ada :(
=====================================================
Gak usah bingung mas heee … ada tuch saya intip : adanya di file
comments-new.php
cari kode spt ini :
</p>
atau sebelum<?php comment_id_fields(); ?>
Reply
Cobain dulu deh ,,karena kalo pake captcha beratin loading kayanya
Reply
Sambil sabar menunggu rada lemot nih jaringan komen dulu
Reply
cari root directorinya kesusahan Bos
Reply