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

        昨天我在《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优化技巧,在你的博客之路上,一定可以给你一点参考吧!

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

评论区

共 39 条评论
  1. 阅网博客 的头像
    阅网博客 Lv1.萍水相逢
    验证码就面临这被和谐。 :grin:
    16年前
  2. 学夫子 的头像
    学夫子 Lv1.萍水相逢
    emlog里有一个有趣的验证码,就是拖动数字从小到大排列,哈哈
    16年前
  3. 右脑开发 的头像
    右脑开发 Lv1.萍水相逢
    学习学习~~还是没插件好
    16年前
  4. i981的世界 的头像
    这个好,小学算术
    16年前
  5. 易赛和捷易通哪个好 的头像
    易赛和捷易通哪个好 Lv2.初识寒暄
    有点看不懂啊 最近想用WP做个站,可是没有好的主题 下次发点wp主题哈·!
    16年前
  6. 洗发水排行榜 的头像
    洗发水排行榜 Lv1.萍水相逢
    怎么说呢 支持啊!!!
    16年前
  7. 龙的传人 的头像
    龙的传人 Lv4.常来常往
    验证码会严重影响用户体验,这个倒是没想到。一直感觉弄几个数字不太难呢,这下要仔细斟酌一下了。 老张弄得这个验证码很好,我发现自己用的验证码插件,竟然挡不住一个来自美国的IP的垃圾评论。 最后只好用过滤词语loan才搞定。
    16年前
  8. 刘志猛 的头像
    刘志猛 Lv1.萍水相逢
    呵呵,很实用
    16年前
  9. winw 的头像
    winw Lv1.萍水相逢
    用这个方面应该会好很多,但我还是不喜欢填写这些东东。
    16年前
  10. alige 的头像
    alige Lv2.初识寒暄
    看见没回复就知道了 老张你现在已经很成功了 日IP不下于300吧? 真佩服你,博客做的这么专业,马上就可以风云互联网啦!加油!
    16年前
😊