三招重拳打击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 我顶!
2008-9-06 4:57 pm
相当狠~~~~~~~
2008-9-06 5:10 pm
凶狠…杀spam于无形…
2008-9-06 5:20 pm
我想知道第二条的详细点的方法..
我不是很会这些..
2008-9-06 5:22 pm
我的博客现在还好,特别是那段时间PR0到7的,非常多的垃圾链接。
逼我这样的。
现在不仅是nofollow,留言里面的内容也是不允许留链接:留了链接就是一段文字,不转化为a
2008-9-06 5:24 pm
这让我想到当年对垃圾邮件过滤的多层机制。。。。以后的显示器得添加一个功能。。。。当发送spam的时候浏览器自动停止工作1小时。。。。
2008-9-06 6:12 pm
Chris.Ro:见http://blog.yiyidu.com/2008_628.html,刚发布的。