首页 > 新闻资讯 > 十招阻止WordPress中的垃圾评论

十招阻止WordPress中的垃圾评论

8条评论
标签:
更多

垃圾评论经常令blogger们头疼,它们占用了资源使得博客的运行速度也下降。这里就跟大家分享下,打击垃圾评论的十大招数。

1. 安装Akismet

这是最简单的方法,Akismet 是WordPress系统默认自带的一个很好的防垃圾评论方法,对于普通的blogger来说,安装Akismet后你的垃圾评论就会被挑选出来。但是也有一个问题,它仅是找出了垃圾评论却不能从根本上解决问题。这也是为什么要写这篇文章的原因,我们将从最简单的将垃圾评论区分出来着手,之后转移到如何从源头上阻止垃圾评论。

2. reCAPTCHA

reCAPTCHA 插件,你应该在FacebookTwitter StumbleUpon等网站上有看到过此插件。什么是reCAPTCHA呢?它跟普通的CAPTCHA(图形验证码)不同,它是使用了从古书中扫描来的字符,然后使用 OCR 软件进行识别的,而 OCR 的识别能力有限,需要人力来一一校对,而且还不能保证完全正确,因此,你每一次的reCAPTCHA验证实际上是在帮助这些书籍的数据化。在此,你可能会问它是如何实现防垃圾评论的呢?答案很简答,reCAPTCHA 验证码中有2个单词,一个是已经正确识别出的,而另一个是未确定需要校对帮助其数据化的单词。图示:

该插件有2.7+版本可安装,搜索下WP-reCAPTCHA下载之后一键点击安装。不过,你需要一个key才可以使用,你可以从这里获得key。弄好之后,在你的评论页面就会显示reCAPTCHA验证。

3. 邀请读者回答简单的算术问题

要介绍的第二款从源头上防止垃圾评论的插件是Math Comment Spam Protection 插件。使用它之后,你的博客评论区会有一个简单的数学问题需要回答,用户才能发表评论。

这里就不讲述如何安装它,在这个插件的官方网站上有一个全面的安装指南。你可以看上面的效果图。

4. 阻止垃圾trackbacks

要介绍的最后一款插件的制作者跟上一款是同一人,叫做 “Simple Trackback Validation ”。它通过检验trackback的发送者的IP地址是否与该trackback URL IP 地址相同来阻止垃圾trackback。在插件的主页面上是这样说的:“检索trackback 中的URL所指向的页面,如果这个页面没有包含一个到你博客的链接,则视为垃圾Trackbacks。由于大多数的垃圾trackback发送者不会专门建立一个页面来链接他们要攻击的博客,这样一个简单的检查就可以很快揭露非法trackbacks。”

与上一款插件一样,在插件的主页面也有安装指南。

5. 用户登录后评论

可能大多数blogger们不是很喜欢这种方法,不过却是阻止垃圾评论的一个非常有效的方法。选上“Users must be registered and logged in to comment.”

在后台的“设置”,点击“讨论”勾上“用户必须注册登录后才能发表评论”,并保存你的更改。

6. 通过IP地址阻止垃圾评论

这里就需要用到 .htaccess文件。你先阅读这里了解下基本介绍。并牢记一条定律,始终都要对.htaccess备份。更多关于.htaccess的知识可以阅读CatsWhoCodeWPShout

大多数情况下垃圾评论的发送者会制造假IP,此方法不是特别好使,不过,要是有个IP经常骚扰到你,你可以通过下面的代码阻止他们访问你的网站,只要在你的博客根目录下的.htaccess文件插入下面的代码就可以,把第二行的IP地址改成你想要阻止的IP地址。

Order allow,deny
Deny from 100.100.100.
Allow from all

7. 通过禁止黑名单列表IP访问来阻止垃圾评论

使用上面的方法,你仅仅阻止了一个垃圾评论发送的IP。现在有了Perishable Press,你想阻止多少垃圾评论的IP地址都可以,Jeff收集了大量的黑名单列表,你可以从中挑选你需要阻止的地址,在.htaccess文件上实施。你可以通过下面的地址获得最新的黑名单列表:

8. 拒绝不相关的评论请求

另外一个利用 .htaccess来阻止垃圾评论的技巧是拒绝不相关的评论请求,也就是说,如果评论不是来自你的网站的话,就阻止它。把第四行的URL地址改为你的博客地址即可。

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

9. 阻止内容盗用

垃圾评论发送者还不仅限于给你滥发评论,他们通常还会窃走你的内容。这里就介绍下如何防止他们通过RSS盗用你的内容。一旦你发现了哪一个网站偷窃你的内容,首先记住网站的IP地址。Ping下结果'ping [站定名称,如:catswhocode.com]'。然后找到他们的RSS feed,在你的 .htaccess 文件里添加下列代码:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^69.16.226.12
RewriteRule ^(.*)$ http://newfeedurl.com/feed

把第二行的IP地址改为偷窃站点的IP,第三行的URL改为该站点的feed地址。

10. 阻止图像盗用

上面,我们阻止了别人从RSS盗用你的内容,现在介绍下如何对付那些复制你并粘贴你的内容到他们网站的窃贼。虽然,从技术上来讲这并不是阻止垃圾评论,不过却对打击垃圾评论发送者有很大作用。

如果你的图像被盗链,你有两个选择:给你的图像印水印或者使用.htaccess。两个我都介绍下,你自己决定使用哪一个。第一种水印,也是万无一失的就是你在上传图像之前就打上水印,可以通过一些简单的软件来实现,这里我推荐完全免费的工具 FastStone Photo Resizer。第二种水印,安装phpThumb并创建一个调整图像大小和水印的简易代码。在functions.php文件里添加下面的代码,把phpThumb上传到你的主题文件夹,上传水印并修改URL地址。你也可以修改下图片的宽度(当前为590)。

<?php function imageresizer( $atts, $content = null ) {
return '<img src="/THEMEURL/phpthumb/phpThumb.php?src=' . $content . '&w=590&amp;fltr[]=wmi|/images/watermark.gif|BR"  alt="">';
}
add_shortcode('img', 'imageresizer'); ?>

有了这些代码之后,你按正常的方法上传一张图片后,转为HTML模式并复制图像的url,接着删除该图片在 [img] 和[/img]中间插入图像的URL地址。
当然,你也可以通过在.htaccess 添加如下代码防止盗链(把第三行和第五行的地址做下改动 – 第五行将要显示的图片- 将它转向到空白地址或你站点的广告):

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
#RewriteRule \.(gif|jpg)$ - [F]
RewriteRule \.(gif|jpg)$ http://www.yourdomain.com/advert.jpg [R,L]

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
有错,第三个方法的插件所连接的链接是第四个插件的地址?!
#2
感谢指正,紫雨MM好细心啊。
#3
除了第一个外,其他我都没有用过
#4
只是安装Akismet。 万恶的垃圾留言。
#5
暂时觉得Akismet就够用了。
#6
我只安装了一个AKISMET,虽然没有审批垃圾留言,但是还是留下大量垃圾信息让我删除,而且极个别错误进入AKISMET数据库的留言也会被误杀。 我打算试一试古书插件,作者也在用,看来效果不错。
#7
感谢站长有用的文章,今天一看我站垃圾评论竟然多达40多页了,全是外国的
#8
感觉还是使用验证码比较有用!