三招重拳打击WordPress群发垃圾评论

  这几天我做了三项修改,以应付来势汹涌的群发垃圾评论,其中最狠的一条是:超过三个链接的留言,将被自动删除,连审核队列都不进入。

  前几天写了《彻底杜绝WordPress垃圾评论的两个办法》,虽然可以有效阻止垃圾评论,但是依然有两个缺点:

  1)群发垃圾评论虽然进入了审核队列,但是在WordPress管理后台依然可以看到他们,仍然需要手工删除。

  2)部分垃圾网站/采集网站的站长发的评论本身不含不好的内容,但是其网站往往是被Google和百度惩罚了的,保留其链接将导致我的网站被连累,很可能也因此被百度惩罚。

  所以,我做了三项改进,以应付可能对我造成伤害的评论:

  1)评论中包含链接的,统统需要审核
  无论是谁发的,只要评论中包含a href形式的链接,一律需要审核才能放行。这个设置很简单,在wordpress后台的settings/Discussion(设置/评论)里面,把Hold a comment in the queue if it contains 1 or more links. (A common characteristic of comment spam is a large number of hyperlinks.)设置成1就可以了,包含一个(含)以上链接的评论,都进入审核队列。

  这么做是基于这样一个事实:大部分留言都不包含链接,包含链接的评论有很大一部分是广告。

  2)修改所有评论者的链接
  目前我的博客的所有留言链接,都变成了 c_urlredirect.php?url=网站链接 这样的形式,点击打开调用的是javascript脚本,右键点击打开则显示安全提示页面。这样无论留言者的链接是否被Google百度惩罚了,都对我没影响。月光博客聚友都采取了类似措施。具体做法见:替换WordPress留言链接的代码

  3)评论包含三个以上链接的,自动删除
  包括三个(含)以上(a href=形式的)链接的评论,直接标记为spam,自动删除,不仅博客前台不显示,后台管理页面也不显示了。

  这么做需要修改wp-includes\comment.php文件,在function wp_blacklist_check函数下面添加一条语句就可以了:

  if ( preg_match_all(”|(href\t*?=\t*?['\"]?)?(https?:)?//|i”, $comment, $out) >= 3 )
return true;

  其中的3可以修改为其它数字,修改后把这个文件上传到空间,覆盖原文件即可。

  相关文章:修改代码使Discuz论坛(DZ6)全面屏蔽禁止URL超链接功能

收藏到QQ书签
0 我顶!
6 条评论
  1. 小墨

    相当狠~~~~~~~

  2. Yacca

    凶狠…杀spam于无形…

  3. Chris.Ro

    我想知道第二条的详细点的方法..
    我不是很会这些..

  4. 聚友

    我的博客现在还好,特别是那段时间PR0到7的,非常多的垃圾链接。
    逼我这样的。

    现在不仅是nofollow,留言里面的内容也是不允许留链接:留了链接就是一段文字,不转化为a

  5. 行者自若

    这让我想到当年对垃圾邮件过滤的多层机制。。。。以后的显示器得添加一个功能。。。。当发送spam的时候浏览器自动停止工作1小时。。。。

  6. admin

    Chris.Ro:见http://blog.yiyidu.com/2008_628.html,刚发布的。

发表评论:

(请勿发表攻击性言论和无关链接,谢谢合作!对于不自觉者,本站保留删除任何一条评论而不予解释的权利。)

(评论中最多可以包含两个链接[a href形式],超过两个的将被自动删除。)

【返回默认】 【返回首页

Copyright © 2008 YiYidu Inc. All rights reserved.