WordPress博客防Spam的方法

垃圾评论是指的是未经授权, 人们不想看见的评论, 现在很多博客都存在 spam 的足迹, 甚至有互相依存的关系. 据本人调查, 那些还有人管的博客中, 满布 spam 而没有清理主要有两个原因:

垃圾评论实在太多, 处理应接不暇.

评论数本来就少, 这样看起来更有人气, 不舍得删除.

作为负责任的站长, 不应该对 spam 手软. 对于第二种情况, 可怜又可恨, 我无力吐槽. 而有心要清理 spam 的朋友, 还是有很多事情可以做的. 本文将介绍几种防 spam 的工具和方法.

WordPress博客防Spam的方法 独立博客 好文分享 第1张

WordPress 自带防 spam 插件: Akismet

WordPress自带的spam 过滤插件 Akismet, 非常强大, 可以过滤掉大部分垃圾评论.

Akismet会对评论者和评论内容的关键字, 评论者邮箱, 链接地址做判断, 确定是否要将评论列为待审批对象. 对所有 spam 类型都适用, 但是会有很多漏网的 spam.

WordPress 评论审核和黑名单

在 WordPress 后台 Settings > Discussion Settings 有两个输入框, 一个是评论审核, 一个是评论黑名单. 每行一词, 只要评论者名称或者内容出现这些关键字就会进行相应的处理.

这是个非常强大的功能, 因为它的过滤是 100% 成功的. 比如: 现在挂名搞 SEO 的喜欢发 spam, 评论时会用 XX市SEO, XX州SEO 这样的名称, 所以我将 市seo, 州seo 写进了黑名单.

以下是我的评论审核和评论黑名单关键字列表:

评论审核 (备用链接)

评论黑名单 (备用链接)

小墙

Willin Kan 写的小墙工具, 理论上可以 100% 屏蔽机器人发出的 spam. 如果是自然人提交评论, 小墙会在评论提交表单中加一个 hidden 变量, 如果后台检测不到这个变量, 则认定为 spam, 可以选择需要审核, 也可以直接过滤掉.

如果对方知道你用的 hidden 变量或者使用虚拟点击, 就可以破掉小墙. 但是 spam 本来就是小成本和以量取胜的事情, 除非与你与 spammer 结仇了, 我相信人家不会那么无聊来破你小墙. 而且机器人 spam 的数量占了绝大多数, 这个工具很有必要.

貌似 Willin 现在不用 WordPress 了, 网站也正在维护, 小墙代码我就贴在下面. 使用方法很简单, 拷贝到 function.php 文件最后即可. 其中 wall 是隐藏关键字, 有需要的请自行更改 (不改也可以).

class anti_spam {
    //建立
    function anti_spam() {
        if ( !current_user_can(‘level_0’) ) {
            add_action(‘template_redirect’, array($this, ‘w_tb’), 1);
            add_action(‘init’, array($this, ‘gate’), 1);
            add_action(‘preprocess_comment’, array($this, ‘sink’), 1);
        }
    }
 
    //設欄位
    function w_tb() {
        if ( is_singular() ) {
            ob_start(create_function(‘$input’,’return preg_replace(“#textarea(.*?)name=([\”\’])comment([\”\’])(.+)/textarea>#”,
            “textarea$1name=$2wall$3$4/textarea>“,$input);’) );
        }
    }
 
    //檢查
    function gate() {
        ( !empty($_POST[‘wall’]) && empty($_POST[‘comment’]) ) ? $_POST[‘comment’] = $_POST[‘wall’] : $_POST[‘spam_confirmed’] = 1;
    }
 
    //處理
    function sink( $comment ) {
        if ( !empty($_POST[‘spam_confirmed’]) ) {
            //方法一:直接擋掉, 將 die(); 前面兩斜線刪除即可.
            //die();
            //方法二:標記為spam, 留在資料庫檢查是否誤判.
            //add_filter(‘pre_comment_approved’, create_function(”, ‘return “spam”;’));
            /*
            $is_ping = in_array( $comment[‘comment_type’], array(‘pingback’, ‘trackback’) );
            $comment[‘comment_content’] = ( $is_ping ) ?
            “◎ 這是 Pingback/Trackback, 小牆懷疑這可能是 Spam!\n” . $comment[‘comment_content’] :
            “[ 小牆判斷這是Spam! ]\n” . $comment[‘comment_content’];
            */
            // MG12 的處理方法
            $is_ping = in_array( $comment[‘comment_type’], array(‘pingback’, ‘trackback’) );
            if(!$is_ping) {
                die();
            }
        }
        return $comment;
    }
}
$anti_spam = new anti_spam();

计算前端处理时间

在输入框上方用JavaScript取一个时间戳作为全局变量, 在提交表单的时候获取提交时间, 两个时间相减, 如果小于可能值, 则视为机器人. 判断为机器人的评论你可以按小墙的方式处理, 也可以不处理 (不占用服务器资源, 但不能记录 spam 信息).

相对与小墙, 这种方法更加可靠, 但绝不是没有漏洞, 只要 spammer 做个 setTimeout 延迟发布就破了.

时间戳

老掉牙的方机器人方法, 很实用, 但有最大的缺点: 用户体验不好. 要求访客多填一个很难观察的数字, 严重打压评论者积极性. WordPress 平台有很多这类插件可以用, 但我是不建议使用的.

消灭所有评论中的链接

很多年前阿瓦受人肉spam烦扰之后的做法: 将评论中所有链接去除. 目的应该是打消 Spammer 的积极性. 但在评论中还是有 spam, 因为作为低成本的 spammer, 或者根本就不会花时间去考虑是否值得发这个垃圾评论, 因为发布时间远小于去评估一个发布价值的时间.

这是多年前的做法, 或许那时没有更好的方法, 不得已而为之. 目前来看, 最好不要使用这个方法, 因为你不知道有多少人真的是为了发布者昵称上的链接而发一个评论, 而这个评论可能是有意义的, 应该保留这种积极性.

登录后发布评论

Denis 三年前跟我说, 他要求访客登录方可留评, 而用户可以通过 Twitter 或者微博登录他的博客.

当时我震惊了, 这不是等于自宫吗? 对于防 Spam, 或许用处不大, 对于那些人肉 Spam, 只是门槛高了点而已. 但会失去很多有用的评论. 而事实上, 这是个好方法, 通过微博登录博客的很多访客成为了 Denis 微博上的粉丝. 虽然博客看似冷清了, 但与读者的联系更加紧密了.

结语

WordPress 的博客众多, 一直被黑帽们牢牢盯住, 即便开了 Antispam 插件, 很多博友可能还是每天收到成千上万的垃圾评论, spam 成了站长们必须面对的问题. 以上给的一些工具和方法, 希望可以在大家选择工具时提供一点帮助.

本博客用了 Akismet, 评论审核和黑名单, 以及小墙, 小墙将机器人评论屏蔽掉后, WordPress 评论审核和黑名单功能过滤掉那些我认为有问题的内容, 最后 Antispam 帮我解决掉部分人肉的不存在含特殊关键字的评论. 以前我只用 Antispam, 每天 spam 数量都是 4 位数的, 现在小墙部分直接删除, 一个月的 spam 也就十几条, 需要我手动去设为 spam 的评论也就几条.

文章来源:neoease

相关文章:

【反驳】我为什么放弃WordPress

我为什么放弃WordPress

如何加快WordPress的奔跑速度

站长需要什么样的wordpress插件

WordPress 真的飞不起來

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:卢松松,转转请注明出处:https://www.chuangxiangniao.com/p/1068602.html

(0)
上一篇 2025年1月13日 15:23:55
下一篇 2025年1月10日 12:23:48

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 苏囧:卢松松博客再次被K之我见

    玩独博的人相信都知道卢松松。毕竟是名博。卢松松博客,是一个专注于网站设计、网站推广、网站建设的原创IT评论博客,是一个值得网 站爱好者收藏和订阅的博客。我也经常光顾他的博客,他写的文章也都有独到之处! 今天习惯的搜索一下卢松松博客,发现在百…

    站长动态 2025年1月13日
    100
  • 准备对博客进行大改动

    目前lusongsong这个域名下有两个博客,一个主博客,网站首页部分。一个微博客,也就是这里。这两个博客存在一个问题,那就是博客的内容太类似,所以导致微博客更新速度比主博客还快。 微博客从新修改界面快一个月了,自我感觉效果还不错,微博客界…

    站长动态 2025年1月13日
    100
  • 阮一峰的独立博客付费阅读实验结果

    去年5月,Google关闭了我的Adsense广告账户。 我在网上宣布,由于没有了广告收入,我决定卖文。还承诺一年之后,公布收到多少钱。 现在一年过去了,今天我就公布结果。 需要道歉的是,晚了两个月。5月底的时候,有一家报纸对这个题材有兴趣…

    2025年1月13日
    100
  • Enjoylife访谈群对话独立博客:卢松松

    Enjoylife:各位晚上好。今晚我们很高兴邀请到独立博客卢松松来到我们的互动空间,总所周知,卢松松博客在网络推广营销业界的名声早已 传开,其推广手法独特,营销方案设计合理,大家能够多方面的接受,已经成为了广大网络营销者的标杆,今天我们将…

    站长动态 2025年1月13日
    100
  • 台湾博主分享:如何经营一个好博客

    认识我的人都知道,每天早上 5 点到 8 点是我的「博客时间」,除非真的有无法排开的行程,否则我一定会把一篇文章写出来。当然,不是随便的一篇文章。虽然不能每天都做到,但我的任务是每天一篇能给读者「启发」的文章。我把这当做一场试炼,也当作每天…

    2025年1月13日
    100
  • 随记:关于职业规划,交互设计及写博客

    下班回家路上,偶遇一个同事,刚好一起步行回家,路上聊了一些问题,激发了一些思考。 回去之后,抓紧时间进行了一些整理。主题比较杂,所以仅当做记录而已。也欢迎读到的朋友一起讨论。 一. 频繁的职业变化如何做个人的职业规划与沉淀 假设小A在公司短…

    好文分享 2025年1月13日
    100
  • 【案例分析】卢松松博客为何被K?

    刚刚看叶松同学《网站被百度K了如何恢复-附卢松松网站实例说明》一文,对其恢复收录的建议毫无异义,但对于被K原因,零才持有不同观点。 首先,个人不认为卢松松博客是因服务器长时间故障被K,原因有三: 1、卢松松博客没有持续48小时无法访问过,这…

    站长动态 2025年1月13日
    100
  • Google加入微博客大战 推出Google Buzz

    今天凌晨,Google发布了基于Gmail的社会化产品,名为Google Buzz(http://www.google.com/buzz)。该服务说白了就是类似于微博客的社交网络服务,同时推出了移动版Google Buzz,也有Buzz中文…

    2025年1月13日
    100
  • 这个微博客是否该专一在一个领域呢?

    这个我的附属博客,原本想建立来记录一下随笔,可发现,并不是每天都有那么东西可写。另一方面也是因为自己太忙。这个微博客的内容很杂。 最近思考了一下我的主博客未来发展方向,但但靠一些网站技术方面的文章,我想应该不是长久的办法。 等到自己30岁的…

    站长动态 2025年1月13日
    100
  • 对于转载本博客文章一些思考

    今天蓝冰在我的留言中告诉我,我的文章(“ 到底是用二级域名还是二级目录? ” )被站长站转载了转载地址 http://bbs.chinaz.com/Club/thread-1342773-1-1.html  1·没版权,2没连接,3没声明。…

    站长动态 2025年1月13日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信