Quantcast
Channel: Devilの软件巴士,分享你我的软件 »系统工具
Viewing all articles
Browse latest Browse all 10

6种对付WordPress垃圾评论的有效方法

$
0
0

以前,一个人气高,成功的博客是不那么好管理的。很多人会在你博客上发表垃圾评论来吸引流量,有些是机器人,或者是自己写的插件,还有可能是最没技术含量的手工回复。

但是在 WordPress 下,一个开放平台,自然就有了很多的解决方案。在本文中,我们将会讲到 6 个简单而又有效的方法来解决 spam 垃圾评论。

1. Akismet, 反 spam 插件的龙头老大

这能阻止:包括自动和手动发的评论

既然我们要写一个解决垃圾评论的文章,那么肯定得以最流行的插件开始讲起吧。现在这个插件都已经整合到 WordPress 默认安装包里面了,因为插件的高质量,也成为用户的必备插件了。

在评论发布到你的博客上之前,会先经过他们的服务器,如果它说“可以”,那么评论就可发布了,如果它说“不可以”,那么评论就会被放到 spam 评论里面。

在使用之前你需要注册一下,一般用户使用免费版的就足够了。获取 API key 之后填到设置页面就能使用.

2. 用 .hatccess 禁止对 wp-comments-post.php 的直接访问

这能阻止:自动的 spam

往 .hatccess 文件里面加入一下代码。你就可禁止 wp-comments-post.php 的直接访问。

1
2
3
4
5
6
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

原理很简单,如果访客不是在你博客页面停留来发评论的,那么他就无法进行操作。这段代码还有个好处,那就是 spam 机器人是不会引起服务器资源占用的,因为它们无法访问。

3. “Cookies for Comments” 插件

这能阻止:自动的和手动的 spam

在插件推荐这方面要保持公正没有偏见,不过 Cookies for Comments 这个插件是目前我用过的最好用的一个。

插件的作者 Donncha O Caoimh 是这样描述的,这个插件会网你博客的 html 源代码里面加入一个样式表或者是图像。当浏览器载入这个样式表或者图像的时候,会生成一个 cookie,如果用户要发表评论的话就会检查这个 cookie,如果 cookie 不存在的话,那么评论就会当作 spam.

就是这么简单,这个插件还有一个特点就是他还可以检查评论发布的速度。比如说,评论是在载入页面之后3秒就发布的,那么这就很可能是 spam. 这个你可以在设置页面里面进行调整,对这些评论的处理方式也可以设置,有两个选项:判为 spam 或者是 直接删除。

4. 使用第三方的评论平台

这能阻止:自动 spam

使用评论系统的是有好处的:Spam 机器人通常一点办法都没有的,因为这些评论系统是在 iFrame 框架里面或者是其他框架,机器人拿这个没办法。

所以,如果你遇到越来越多的垃圾评论,你可以去使用第三方的评论平台。这些评论系统不仅有更多的功能,而且美观。好的用户体验让用户愉快,对我们来说,这 是一个对垃圾评论免疫的平台,两全其美。

我在这里就推荐几个第三方评论系统吧。

JetpackDisqus, Facebook Comments 和 多说

5. 在发送按钮那增加一个复选框

这可以阻止:机器人 spam

这并不是一个很好的办法,但是这可以帮组你解决垃圾评论,而且不会对正常留言的用户造成影响。

首先,你需要在你主题的评论里面增加一个复选框(多数情况下都是在 comments.php 文件里面添加),加入如下代码:

1
<label for="enable"><input type="checkbox" name="enable" id="enable" onClick="apply()" class="enable_checkbox"> Check this box to enable the send button</label>

直接加在“提交”按钮的上面就可以了,注意下“提交”按钮的 “name” 属性和

这个元素,如果你都没有的话,那 value 里面填 “commentform” 就可以了。

接下来,就是在 header.php 里面,在里面插入下面代码,

1
2
3
4
5
6
7
function apply() {
    var form_submit = document.commentform.submit;
    var form_checkbox = document.commentform.enable;
    form_submit.disabled=true;
    if(form_checkbox.checked==true) {form_submit.disabled=false;}
    if(form_checkbox.checked==false) {form_submit.enabled=false;}
}

如果你的
里面有 name=”…” 这样的值的话,那么例子里面的 “commentform” 和 “submit” 就更换为相应的值。

6. CAPTCHA 验证码插件

这可以阻止:自动 spam

这也是我很喜欢的一个选项,但这可能对访客来说觉得有点烦。不管怎样,这是一个防止垃圾评论的一个好方法。

普及一下小知识:CAPTCHA 的全称是 “Completely Automated Public Turing test to tell Computers and Humans Apart”,具体的大家可以去维基百科看看,验证码插件有很多,我在这次就介绍两个用最多的就好了。

reCAPTCHA 阻止垃圾评论,同时也为文学录入做贡献

reCAPTCHA 让验证码以一个很有意义的方式呈现出来。Google 扫描旧书,旧杂志等等有价值的东西,但是 OCR 软件有些手写的单词还是不能识别出来的,所以这就需要人工来录入了。具体的信息参考 Google’s reCAPTCHA website

CAPTCHA 用数学的力量来阻止垃圾评论

这是另外一个好方法来阻止垃圾评论,验证码是一道数学题目,你必须回答正确才能够通过验证,自己发 spam 的机器人恐怕连简单的1+1都做不出来。

结论

虽然有这些方法,但还是不能够 100% 的防止垃圾评论的。因为总有些垃圾评论评论伪装得很好,写一些合法的东西,留下一个网址。这样的话我们是没办法过滤掉的,但是以上方法就可以阻住9成垃圾评论了。当然这不是一个绝对的解决方案,如果你们有好的建议和想法的话,也可以和我们分享一下。

原文:6 Easy and Efficient Ways to Combat Spam Comments

本文由 CloudCheung 编译,转载自: http://t.tt/55/


Viewing all articles
Browse latest Browse all 10

Trending Articles