kn007的个人博客
♥ You are here: Home > 软件与网络 > php > 更新:防机器人评论勾选

更新:防机器人评论勾选

by | 44 Comments

提醒:本文最后更新于 4161 天前,文中所描述的信息可能已发生改变,请仔细核实。

本次更新内容有:

♦  一次登录或成功发表评论后,不再提示勾选协议。

♦  版本号更新为:1.1.0.0

旧版本请参考之前写的帖子《自己写了个防机器人评论的,请大家帮忙发现BUG》,谢谢。


今天小天反馈(防机器人评论)说


就此问题,特地更新了源码,新的源码如下:

function access_submit($comment) {
   if (!is_user_logged_in()) {
           if(isset($_POST['access_submit']) || $_COOKIE['comment_author_' . COOKIEHASH]!='') {
               return($comment);
           } else {
               if (isset($_POST['isajaxtype']) && $_POST['isajaxtype'] > -1) {
                   //header('HTTP/1.1 405 Method Not Allowed');   clove   find some error with ajax submit  2012-03-02
                   die("请先同意声明");
               } else {
                   if(function_exists('err')){
                       err("请先同意声明");
                  } else {
                       wp_die("请先同意声明");
                   }
               }
           }
   } else {
       return($comment);
   }
}
add_action('preprocess_comment', 'access_submit');

function add_checkbox() {  
   if (!is_user_logged_in() || $_COOKIE['comment_author_' . COOKIEHASH]='') {
       $content.= '<input type="checkbox" name="access_submit" id="access_submit" value="access_submit" style="width: 15px;" /><label for="access_submit" style="margin-left:5px;">同意声明并回复    </label>';  
       $content.= '<span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">  声明:</span> 本博采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" title="署名-非商业性使用-相同方式共享" target=_blank>BY-NC-SA</a> 协议进行授权  ';
       echo $content;
   }
}  
add_action('comment_form', 'add_checkbox');

注意:添加在主题的functions.php里面,兼容性基本上100%。另外需要博客本身已有记录登录者信息cookie(正常都有),可按情况修改。


请大家帮忙反馈下,看看有没有新的问题,如遇无法回复,再清除浏览器缓存无果的话,请邮件给我:kn007@126.com,或者在weibo留言给我:weibo.com/kn007,谢谢。


已知成功例子(除本博客,有反馈的博客):
♦  晴颺
♦  小天

转载请注明转自:kn007的个人博客的《更新:防机器人评论勾选

donate
有所帮助?

Comments

44 Comments立即评论
  1. :arrow: 太好了不用勾了

    1. MOD回复

      @凤翼天堂: 嘿嘿。。。

    2. MOD回复

      @凤翼天堂: 如果要恶搞的话,还可以说评论等级多少了,可以不用勾选。。。

    3. @kn007: :!: 坑爹啊……不过我那边不适合加等级 图标太长= =

    4. MOD回复

      @凤翼天堂: 嘿嘿。。。表示我没有那么 :x ,我是 :lol:

    5. @kn007: :!: 我在本地测试还是每次都要勾

    6. MOD回复

      @凤翼天堂: ....不可能吧。。。。检查下不勾能不能发。要是能发就是add_checkbox函数的问题

    7. @kn007: 不勾不能发= =、会有设置好的提示

    8. MOD回复

      @凤翼天堂: 不介意的话,把主文件发给我看看?我qq,890048,你加我下吧。。

    9. @kn007: 是只要functions.php么 扣扣号忒短了QAQ一阵羡慕

    10. MOD回复

      @凤翼天堂: 嗯,只要放functions.php。

    11. MOD回复

      @凤翼天堂: 我觉得你不算孤僻,你看你那那么热闹,我这这么冷清 :cry:

    12. @kn007: 好吧我说的是三次元= =这里属于二次元管辖范围

    13. MOD回复

      @凤翼天堂: 啥米意思。。。

    14. @kn007: :!: 互联网世界嘛……我说的孤僻是在现实

    15. MOD回复

      @凤翼天堂: ...尼玛的,无论现实虚拟,你都不孤僻好吧。。。奶奶的。。。装吧。。。

    16. @kn007: :cry: 别激动QAQ

    17. LV2回复

      @凤翼天堂: test to 小天

    18. @test: =。=

    19. MOD回复

      @凤翼天堂: 只是想看看wp后台记录ip是否正常,之前搞前后端分别处理,wp记录ip一直是localhost...倒霉。。。

  2. 回复

    你那个各种认证挺好玩的。

  3. 我是过来测试的 :x

    1. @Xider: Nice...

  4. 不打勾试试看,,,真的不行哦

  5. 回复

    评论一次果然不用勾选了~ :grin:

    1. MOD回复

      @晴颺: 那是

  6. functions.php随便放吗??

    1. MOD回复

      @鬼娃娃: 是啊。。 :smile:

    2. @kn007: 那我的字怎么变成两行了。。。

    3. MOD回复

      @鬼娃娃: css效果的问题,改下css呗

    4. @kn007: 额,不会。。。

    5. MOD回复

      @鬼娃娃: ,,,,,,,,,,,,,,,,,就我提供里面不是有个style,在其里面修改。。。

    6. @kn007: 哪里有。。。。都没看到。。。就看到一个说放到函数的,没看到CSS的啊

    7. MOD回复

      @鬼娃娃: $content.= '

      @kn007: @: 是我根本看不懂,我只会照搬,我看了下,我也不会改

    8. MOD回复

      @鬼娃娃: :???: :???: :???: 很容易的 :o

    9. @kn007: 额,哈哈,发现你这个代码放到大发的主题里面还是每次都打勾啊

    10. MOD回复

      @鬼娃娃: 说明这鸟毛不知复制了谁的cookie保存模式。。。自己看着改,大发改了皮,集合了很多主题的功能,成了他的主题,但是我觉得还是很乱。。懒,不想看

    11. @kn007: 嗯,不过基本我是看不懂啊。。没事。

    12. MOD回复
  7. LV1回复

    这个好,在我的博客上用一用

    1. MOD回复
  8. 不错,这个蛮好!

    1. MOD回复

      @明月登楼: 挺多人用的。不过我现在升级过了,没放出来。

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif