防垃圾评论教程:非插件实现WordPress博客添加算术验证码

垃圾站做博客已经有36天了,最近垃圾评论很是头疼,封IP吧还得修改.htaccess文件,每天都是不同的IP地址也封不过来,再搞个防垃圾插件系统怕是受不了,查了一些资料后发现可以使用代码添加算数验证,效果图如下……

因此简介:非插件实现WordPress博客添加算术验证码的方法,垃圾站提醒博主:“修改网站源码有风险,请先做好备份哦”!

首先:修改当前主题目录下的comments.php文件,在适当的位置添加代码(由于大家使用的主题不一样,因为添加代码的地方不尽相同,垃圾站的Weisay主题的这段代码是在填写访客信息处添加的,垃圾站就是在网址:

<label for="url">网址</label>
		</p>

下方添加如下代码:

<?php if (!$user_ID) : ?>
<p><input type="text" name="subab" id="subab" size="36" tabindex="4" />
<label for="subab"><?php $aaa=rand(0,5); $bbb=rand(3,9); ?><span style="color:#FF0000;"><?php echo $aaa; ?>+<?php echo $bbb; ?>=?</span> <?php if ($req) _e('(required)', 'YLife'); ?></label></p>
<input name="aaa" value="<?php echo $aaa; ?>" type="hidden" />
<input name="bbb" value="<?php echo $bbb; ?>" type="hidden" />
<?php endif; ?>

再次:查找Wordpress网站根目录文件wp-comments-post.php,建议使用Dreamveaver打开后查找下面代码:

if ( ” == $comment_content )

在这段代码的上面添加如下代码:

//maths_checkcode
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 correct results of the math problems.') );
}
}
//maths_checkcode_end

修改完成后刷新缓存再打开博客就可以出现算数验证码了,还是那句老话,如果出现问题联系我解决,垃圾站“不吝赐教,不喜勿喷”!

PS:有的博友说按照如下方法添加后虽然可以出现验证码,但是在不填写或者填写错误的情况下依旧可以评论,因此这种方法成了一个摆设,博主上网查了一些资料,发现这种方法只适用于Wordpress2.7以前的版本,现在的版本已经不适用了!

再次补充:今天撤销掉算数验证码后几个小时又来了3个垃圾评论,因此垃圾站觉得还是添加上比较好!

本文固定链接: http://www.lajiz.cn/424.html | 垃圾站

该文章由 sdujane 于2012年11月17日发表在 WP教程 分类下, 访客可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客!
原创文章,转载请注明: 防垃圾评论教程:非插件实现WordPress博客添加算术验证码 | 垃圾站
关键字: ,

防垃圾评论教程:非插件实现WordPress博客添加算术验证码:目前有29 条留言

  1. 这也对?

    2013-04-11 下午 9:31 [回复]
    • 本身只是防止机器操作的垃圾评论,对于人工发布的垃圾评论不屏蔽!

      2013-04-11 下午 11:13 [回复]
  2. 12楼
    酷特尔:

    非常感谢。这个很好,简单大方。我发现我之前的评论都没了。刚刚评论还是进入审核状态的。哈哈哈。多谢啦。

    2013-04-04 下午 7:10 [回复]
    • 这个防垃圾评论很好地!

      2013-04-05 下午 4:39 [回复]
      • 知道今天才有博友在我那里留言说这个放垃圾有bug。都是我上次没有看完,直接修改了代码。哈哈。请问博主有没有解决方法列?可以看出。博主也没有解决方案了。嘿嘿。

        2013-04-23 下午 9:53 [回复]
        • 我也不知道解决办法,但是这个能够屏蔽机器发布的垃圾留言!

          2013-04-23 下午 9:55 [回复]
  3. 11楼
    呆呆:

    看看用不用写

    2013-01-31 下午 8:53 [回复]
  4. 10楼
    天外飞仙:

    哎 已经升级版本了 用不上。。。。

    2013-01-31 上午 8:17 [回复]
  5. 9楼
    smyseo:

    插件都很不错,没事逛逛。

    2013-01-24 下午 11:34 [回复]
  6. 8楼
    GAVIN:

    话说你的百度地图怎么做的?

    2012-12-04 下午 6:04 [回复]
  7. 7楼
    回头草:

    测试一下天才验证会不会通过

    2012-12-03 下午 2:03 [回复]
    • 确实,验证填错了,却发布成功了

      2012-12-03 下午 2:04 [回复]
      • 但是屏蔽垃圾评论还是有效果的

        2012-12-03 下午 6:04 [回复]
  8. 6楼
    回头草:

    不知道有没有不更改wordpress文件,至更改模版文件的,不然每次升级后又得重新改

    2012-12-03 下午 2:02 [回复]
    • 好像只有安装插件才可以……

      2012-12-03 下午 6:09 [回复]
  9. 5楼
    晴刃:

    测试一下填错不知道能不能发表~呵呵~

    结果发现随便写什么,或者不写都能发表=。=

    2012-11-26 下午 7:18 [回复]
    • admin:

      是啊,不过说来奇怪,自从弄上这个验证码后垃圾评论就没了

      2012-11-26 下午 7:22 [回复]
      • 我等会测试一下,可能垃圾评论都是用程序自动发布的~本来在第四个文本框里面自动写内容的,结果写到验证码那个文本框里面了,然后自动递交的时候被判断评论内容是空~无法发布~呵呵~没准是这个原因

        2012-11-27 上午 8:06 [回复]
        • admin:

          这个说法有一定道理!

          2012-11-27 上午 11:10 [回复]
  10. 4楼
    operytu:

    欢迎回来 …这个怎么弄的?

    2012-11-25 下午 9:52 [回复]
    • admin:

      这个是主题自带的,你可以下载后查看源代码,我没有注意过!

      2012-11-25 下午 9:54 [回复]
  11. 地板
    operytu:

    也是好办法

    2012-11-25 下午 9:51 [回复]
  12. 板凳
    operytu:

    果然没用

    2012-11-25 下午 9:28 [回复]
    • admin:

      虽说没用,不过当我添加这段代码后就没有垃圾评论了,中途曾经把代码撤掉,几个小时就来了3条垃圾评论,因此果断加上,这不又没垃圾评论了!

      2012-11-25 下午 9:49 [回复]
  13. 沙发
    田润林:

    我试试

    2012-11-22 下午 11:33 [回复]
    • admin:

      虽然是样式,不过也是蛮管用的

      2012-11-23 上午 11:04 [回复]

发表评论

快捷键:Ctrl+Enter