继续折腾之添加代码实现评论算术验证

Posted by Harid十一月 - 26 - 2010 Leave comments   287 views 

星期九 前天中午匆匆忙忙地加了个评论验证代码,作用是让访客在评论之前必须输入正确的简单数字计算结果才能完成评论。

之所以要加这个,它实在是无奈之举啊!我也知道加上这种验证会在访客的体验上大打折扣,但是星期九 现在每天的垃圾评论实在是太多了,我已经无力去一列一列地删除了,所以只能麻烦一下访客朋友了!

我所说的“垃圾评论”不是指那种“出于推广目的,但是评论还不是很让人无语”的评论,一般出现这种评论,我都没有删除,因为人家也不容易,关键人家评论的时候并不是恶意评论、强行推广。但是星期九遇到的真正意义上的“垃圾评论”是那种纯机器注入的评论,全TM的英文评论,具体可围观:《可恨的垃圾评论》,所以有加这个验证的必要了。

fuck_rubbish_comments

添加方法来自http://tsov.net,原文地址:http://tsov.net/manually-increase-the-wordpress-comment-arithmetic-code/,建议使用星期九这里帖的代码,因为原文出处所帖的代码是全角符号,直接使用会出现严重的问题——访客无法评论

一、打开博客安装根目录下的wp-comments-post.php,查找if ( '' == $comment_content ),在此上面增加:

1
2
3
4
5
6
7
8
if ( !$user->ID ) {
	$aaa = trim($_POST[aaa]);
	$bbb = trim($_POST[bbb]);
	$subab = trim($_POST[subab]);
	if((($aaa+$bbb)!=$subab)|| empty($subab)){
		wp_die( __('Error! Please enter the sum.') );
	}
}

二、在主题的comments.php文件中找到评论表单的位置,在适当的地方添加如下代码:

1
2
3
4
5
6
7
<?php if(!$user_ID) : ?>
	<?php $aaa=rand(1,9); $bbb=rand(1,9); ?>
	<p><label>验证码:</label><input name="aaa" value="<?php echo $aaa; ?>" type="hidden" />
		 <input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /><?php echo $aaa; ?> + <?php echo $bbb; ?> = 
		 <input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:50px" /><small>(必填)</small>
	</p>
<?php endif; ?>

OK了!使用两天之后,我发现这个效果还是很明显的,现在没有那些机器注入的评论了。不过,它可能同时也减少很多有效评论数量吧,一出七伤拳啊!嗯 ,我也在考虑将Akismet卸载掉。

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《继续折腾之添加代码实现评论算术验证

分享本文: 腾讯微博 QQ空间 人人网 百度空间 开心网 新浪微博 Google Reader 豆瓣
Comments(70) Leave comments
  1. Gravatar
    DH Google Chrome Google Chrome 10.0.648.205 Windows Windows 7

    谢谢。这个很不错的。学习了!

    • Gravatar Harid  @  六月 30th, 2011 at 21:03 replied.

      @DH, 我用了这个后,垃圾评论几乎绝迹了,很有效的,值得一试。嗯,感觉我像个打广告的。

      • Gravatar dh  @  六月 30th, 2011 at 22:38 replied.  | #2

        @Harid, 一开始我就觉得你这个很好用,但是考虑到用户体验,就没有加。。

  2. Gravatar
    煎豆 Google Chrome Google Chrome 12.0.712.0 Windows Windows 7

    垃圾评论一大堆,,没办法,我也搞个或者玩意儿

  3. Gravatar
    煎豆 Google Chrome Google Chrome 12.0.712.0 Windows Windows 7

    :razz: 我在百度输入“评论验证”,第一篇是你的~~~~ :!:

  4. Gravatar
    yesureadmin Google Chrome Google Chrome 9.0.570.0 Windows Windows 7

    验正码还是影响一回复量啊,能不能总设成一个1+1?

  5. Gravatar
    小杰博客 Mozilla Firefox Mozilla Firefox 4.0b7 Windows Windows 7

    我用的也是这个算术验证,呵呵

    • Gravatar yesureadmin  @  十二月 27th, 2010 at 09:51 replied.  | #7

      还是1+1简单,我就算错了几次 :evil:

      • Gravatar Harid  @  六月 30th, 2011 at 21:04 replied.

        @yesureadmin, :eek: ,不至于吧?都是10以内的,哥说笑了, :grin:

评论分页
1 + 8 =  (required)
 疑问 鼓掌 难过 呲牙 强 微笑 快哭了 坏笑 汗 奋斗 撇嘴 OK 偷笑 委屈 尴尬 傲慢 握手 玫瑰 胜利 大哭 抱拳
启用云输入法:      

NOTICE1: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!

NOTICE2: 请申请gravatar头像(http://en.gravatar.com),木有头像的会显示为“小怪物”头像,将难以通过审核!

NOTICE3: 如果您能消除一下评论框旁边的邻居的寂寞的话,Harid将不胜感激,你懂的!^_^