WordPress优化技巧:非插件实现小学算术式验证功能

Auth:老张       Date:2010/08/20       Cat:电脑网络       Word:共1305字

◷2010/08/20   👁浏览:14.4K   🗨39条评论
文章目录 「隐藏」
  1.         Akismet利:WordPress默认插件之一,著名的垃圾评论过滤插件。
  2.         Akismet弊:存在误断和漏断的情况,另外一点插件必然会影响到WordPress运行速度
  3.         验证码利:可以有效过滤软件类的垃圾评论
  4.         验证码弊:严重影响了用户体验,有损于博客整体形象。人工类的垃圾评论不能过滤。
  5.         一、修改 wp-comments-post.php :
  6. 二、修改主题文件下的comments.php

        昨天我在《WordPress免费教程(七):WordPress插件Akismet安装使用方法》中,具体讲解了过滤垃圾评论插件Akismet,但是有不少人提出了各自的观点,不少人都没有使用此插件,而是在评论内增加了验证码。我现在就来总结下使用Akismet和使用验证码的利与弊吧:

        Akismet利:WordPress默认插件之一,著名的垃圾评论过滤插件。

        Akismet弊:存在误断和漏断的情况,另外一点插件必然会影响到WordPress运行速度

        验证码利:可以有效过滤软件类的垃圾评论

        验证码弊:严重影响了用户体验,有损于博客整体形象。人工类的垃圾评论不能过滤。

        既然有人说使用验证码而不使用插件,那自然有他的道理。但是老张博客在这里有个提醒,就是如果你使用了验证码,那你的验证码一定要简单。现在验证码大体是三类,一类是四位字母类,第二类是五位数字类,还有一种就是算术类的。在这里老张博客推荐你使用算术验证,即算术类的,他是随机出现两个一位数相加,让你计算出结果。选择这个的好处就是对用户体验影响不是太大,输入的位数少不会影响到用户的情绪。

        那我把这个方法分享给大家:

        一、修改 wp-comments-post.php :

查找:

if ( '' == $comment_content )

在其上面添加代码:

//Fufu_checkcode if ( !$user->ID ) { $aaa = trim($_POST[aaa]); $bbb = trim($_POST[bbb]); $subab = trim($_POST[subab]); if((($aaa+$bbb)!=$subab)|| empty($subab)){ wp_die( __('不好意思,请填写正确的验证码数') ); } } //Fufu_end

二、修改主题文件下的comments.php

查找

<input name="submit" type="submit" id="submit"

在其前面添加

<?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('(必填)', 'inove'); ?> <input name="aaa" value="<?php echo $aaa; ?>" type="hidden" /> <input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /> <?php endif; ?>

好了,完成了,测试下效果吧!我相信,这个WordPress优化技巧,在你的博客之路上,一定可以给你一点参考吧!

注意:代码的编码要和你的一致,另外我的代码中注意下标点(将单引号和双引号都改为英文的单双引号),因为我没有安装“代码高亮”这个插件。

《WordPress优化技巧:非插件实现小学算术式验证功能》留言数:39

  1. 老张博客-龙的传人龙的传人LV3

    验证码会严重影响用户体验,这个倒是没想到。一直感觉弄几个数字不太难呢,这下要仔细斟酌一下了。

    老张弄得这个验证码很好,我发现自己用的验证码插件,竟然挡不住一个来自美国的IP的垃圾评论。

    最后只好用过滤词语loan才搞定。

    17楼 回复
  2. 老张博客-aligealigeLV2

    看见没回复就知道了 老张你现在已经很成功了 日IP不下于300吧? 真佩服你,博客做的这么专业,马上就可以风云互联网啦!加油!

    20楼 回复

发表留言