也许你还在为每天少者十来条多则五十上百的Spam而头疼,今天就隆重推荐Willin大大研发的新型防Spam利器:小牆 1.7
先来了解下Spam是的运作特性,它会填满所有资料框,包括姓名、邮件、网址、留言内容等等。小牆就利用Spam的此特性,增设了一个“display:block;width:0;height:0;margin:0;padding:0;”的资料框,正常情况下,访客是不可能填到这个宽高都为零的资料框的,所以,只要这里有东西,一定是Spam,绝无误杀!
使用方法很简单,直接将以下代码放到模板的 functions.php中:
/* ----------------------------------------------- <<小牆>> Anti-Spam v1.7 by Willin Kan. */ //建立 class anti_spam { function anti_spam() { if (!current_user_can('level_0')) { add_action('template_redirect',array($this,'w_tb'),1); add_action('init',array($this,'gate'),1); add_action('preprocess_comment',array($this,'sink'),1); } } //設欄位 function w_tb() { if (is_singular()) { ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)</textarea>#","textarea$1name=$2w$3$4</textarea> <textarea name=\"comment\" cols=\"100%\" rows=\"8\" style=\"display:block;width:0;height:0;margin:0;padding:0;\"></textarea>",$input);')); } } //檢查 function gate() { if (isset($_POST['w']) && !empty($_POST['w']) && empty($_POST['comment'])) { $_POST['comment']= $_POST['w'];unset($_POST['w']); } else {$_POST['spam_confirmed'] = 1;} } //處理 function sink($comment) { if (isset($_POST['spam_confirmed']) && !empty($_POST['spam_confirmed'])) { //方法一:直接擋掉, 將 die(); 前面兩斜線刪除即可. //die(); //方法二:標記為spam, 留在資料庫檢查是否誤判. add_filter('pre_comment_approved',create_function('','return "spam";')); $is_ping = in_array($comment['comment_type'], array('pingback', 'trackback')); if ($is_ping) { $comment['comment_content'] = "◎ 這是 Pingback/Trackback, 小牆懷疑這可能是 Spam!\n" .$comment['comment_content']; } else { $comment['comment_content'] = "[ 小牆判斷這是Spam! ]\n" .$comment['comment_content']; }} return $comment; }} $anti_spam = new anti_spam(); // -- END ----------------------------------------
提示,此段代码是放到functions头 <?php 于尾 ?> 之间!另外,也可将等号右边的$comment['comment_content']; 改为substr($comment['comment_content'],0,50); 这样只截取50个字,节省了数据库空间。
木木童鞋经过几天的体验使用,一个字“攒”!我等等就把那“方法一”开起来,直接让那些MJJ的Spam们见哈利路亚去,阿门!
那叫啥AK啥啥的,一边凉快去吧~
“那叫啥AK啥啥的,一边凉快去吧~”
英雄所见很同!哈哈哈哈
人怕出名,猪怕壮,都没人到我那spam,真是可怜。。。。
话说,楼下的,请你在一秒中内把“木木木木木”读出来,看发音变成啥了,没有表情,奸笑一个。哈哈
@happyet
呜呜呜呜~~~~~~~
@章鱼 咋地?被人欺负了???
木木木木木--呜呜呜呜
以前好像在万戈那边见过类似的
因为我们都是转willin的,嘿嘿
我就用的那啥ak啥啥的
@志言堂 之前我也一直在用的啦,偶尔也换个用用效果非常不错,而且又能禁用一个插件,何乐不为呀~
哈哈,看原理很不错啊。
比AK好多了
现在的域名很强大啊!主题也换了,很清爽!链接我已经改了!
@aunsen 嘻嘻,感谢A哥支持~~
我SPAM不很严重~开博3个多月,总共还不到100条SPAM~而且几乎都用WP自带的给过滤掉了……
@Jutoy 幸福的孩子,用这个方法又禁用了一个插件也不错呀~
看来不错,折腾去
真不错,想法真不错
skimet是高科技,这个是鸟枪,不过更好用~~