chrisfang的Excel大全

垃圾评论的屏蔽处理

2013-12-22
作者: chrisfang | 分类: 站内动态 | 阅读: 6,363 次浏览 | Tags:
声明: 本站文章均属原创,转载时请标明出处

自10月份以来,FireStats统计到的Excel365.net网站的访问量很大,每天有8、9K的PV和1K左右的IP,但这个统计数字与百度统计以及GA的结果都相差比较大。
在后台检查访问日志,发现有两篇帖子的访问特别频繁,并且有很多评论的记录,但实际页面上并没有显示这么多的评论。这个时候想起来我装过Akismet反垃圾评论插件。后台查看Akismet统计,发现自9月份起截获的垃圾评论数猛增,至今总共有23万多条,光11月份就占了11万条,最近的二十几天就有将近3万条。

01

Akismet把这些垃圾评论标记为Spam,不在页面当中显示,但在后台评论页面里面的垃圾评论分类当中可以找到这些内容,虽然系统会按照存放时间自动清除,但在这里还是塞满了7000多条垃圾评论。这些评论内容大多出于SEO的目的,包含一些关键词或页面链接,绝大部分是英文内容,也有少量日文和中文。
登录到网站数据库,找到wp_comments,用SQL把其中标记为Spam的垃圾评论做个IP地址的查询:

SELECT `comment_author_IP` FROM `wp_comments` WHERE `comment_approved`='spam'
02

查询到的7000多条IP记录导出来放到Excel里面,截取前三个字节然后去重复,剩下300多条IP段,在网上做了一下批量查询,得到下面的结果:

110.82.132.*	福建省莆田市电信
110.82.133.*	福建省莆田市电信
110.85.100.*	福建省莆田市电信
110.85.102.*	福建省莆田市电信
110.85.103.*	福建省莆田市电信
110.85.104.*	福建省莆田市电信
110.85.105.*	福建省莆田市电信
110.85.106.*	福建省莆田市电信
110.85.107.*	福建省莆田市电信
110.85.112.*	福建省莆田市电信
110.85.113.*	福建省莆田市电信
110.85.114.*	福建省莆田市电信
110.85.115.*	福建省莆田市电信
110.85.68.*	福建省莆田市电信
110.85.69.*	福建省莆田市电信
110.85.70.*	福建省莆田市电信
110.85.71.*	福建省莆田市电信
110.85.72.*	福建省莆田市电信
110.85.73.*	福建省莆田市电信
110.85.74.*	福建省莆田市电信
110.85.75.*	福建省莆田市电信
110.86.164.*	福建省厦门市电信
110.86.165.*	福建省莆田市电信
110.86.166.*	福建省莆田市电信
110.86.167.*	福建省莆田市电信
110.86.184.*	福建省莆田市电信
110.86.185.*	福建省莆田市电信
110.86.186.*	福建省莆田市电信
110.86.187.*	福建省莆田市电信
110.86.94.*	福建省厦门市电信
110.89.10.*	福建省莆田市电信
110.89.11.*	福建省莆田市电信
110.89.12.*	福建省莆田市电信
110.89.13.*	福建省莆田市电信
110.89.26.*	福建省莆田市电信
110.89.27.*	福建省莆田市电信
110.89.34.*	福建省莆田市电信
110.89.35.*	福建省莆田市电信
110.89.40.*	福建省莆田市电信
110.89.41.*	福建省莆田市电信
110.89.46.*	福建省莆田市电信
110.89.47.*	福建省莆田市电信
110.89.52.*	福建省莆田市电信
110.89.53.*	福建省莆田市电信
110.89.60.*	福建省莆田市电信
110.89.61.*	福建省莆田市电信
110.89.8.*	福建省莆田市电信
110.89.9.*	福建省莆田市电信
112.101.64.*	黑龙江省大庆市电信
113.128.132.*	山东省济南市电信
113.128.136.*	山东省济南市电信
113.128.139.*	山东省济南市电信
113.128.157.*	山东省济南市电信
113.128.167.*	山东省济南市电信
113.128.173.*	山东省济南市电信
113.128.45.*	山东省济南市电信
113.128.46.*	山东省济南市电信
117.26.116.*	福建省莆田市电信
117.26.117.*	福建省莆田市电信
117.26.118.*	福建省莆田市电信
117.26.119.*	福建省莆田市电信
117.26.192.*	福建省莆田市电信
117.26.193.*	福建省莆田市电信
117.26.194.*	福建省莆田市电信
117.26.195.*	福建省莆田市电信
117.26.200.*	福建省莆田市(城厢区/荔城区)电信
117.26.201.*	福建省莆田市电信
117.26.202.*	福建省莆田市电信
117.26.203.*	福建省莆田市电信
117.26.248.*	福建省莆田市电信
117.26.249.*	福建省莆田市电信
117.26.76.*	福建省莆田市电信
117.26.77.*	福建省莆田市电信
117.26.78.*	福建省莆田市电信
117.26.79.*	福建省莆田市电信
117.26.84.*	福建省莆田市电信
117.26.85.*	福建省莆田市电信
117.26.86.*	福建省莆田市电信
120.33.217.*	福建省莆田市电信
120.33.240.*	福建省莆田市电信
120.33.241.*	福建省莆田市电信
120.33.242.*	福建省莆田市电信
120.33.243.*	福建省莆田市电信
120.33.244.*	福建省莆田市电信
120.33.245.*	福建省莆田市电信
120.37.206.*	福建省莆田市电信
120.37.207.*	福建省莆田市电信
120.37.208.*	福建省莆田市电信
120.37.209.*	福建省莆田市电信
120.37.210.*	福建省莆田市电信
120.37.211.*	福建省莆田市电信
120.37.216.*	福建省莆田市电信
120.37.226.*	福建省莆田市电信
120.37.228.*	福建省莆田市电信
120.37.229.*	福建省莆田市电信
120.37.230.*	福建省莆田市电信
120.37.231.*	福建省莆田市电信
120.37.232.*	福建省莆田市电信
120.37.233.*	福建省莆田市电信
120.37.234.*	福建省莆田市电信
120.37.235.*	福建省莆田市电信
120.37.236.*	福建省莆田市电信
120.37.237.*	福建省莆田市电信
120.37.238.*	福建省莆田市电信
120.37.239.*	福建省莆田市电信
120.37.240.*	福建省莆田市电信
120.37.241.*	福建省莆田市电信
120.37.242.*	福建省莆田市电信
120.37.243.*	福建省莆田市电信
120.40.133.*	福建省莆田市电信
120.40.148.*	福建省莆田市电信
120.40.149.*	福建省莆田市电信
120.40.150.*	福建省莆田市电信
120.43.10.*	福建省莆田市电信
120.43.11.*	福建省莆田市电信
120.43.20.*	福建省莆田市电信
120.43.21.*	福建省莆田市电信
120.43.22.*	福建省莆田市电信
120.43.23.*	福建省莆田市电信
120.43.24.*	福建省莆田市电信
120.43.26.*	福建省莆田市电信
120.43.27.*	福建省莆田市电信
120.43.28.*	福建省莆田市电信
120.43.29.*	福建省莆田市电信
120.43.30.*	福建省莆田市电信
120.43.31.*	福建省莆田市电信
120.43.4.*	福建省莆田市电信
120.43.5.*	福建省莆田市电信
120.43.6.*	福建省莆田市电信
120.43.7.*	福建省莆田市电信
120.43.8.*	福建省莆田市电信
120.43.9.*	福建省莆田市电信
121.205.196.*	福建省莆田市电信
121.205.197.*	福建省莆田市电信
121.205.198.*	福建省莆田市电信
121.205.199.*	福建省莆田市电信
121.205.212.*	福建省莆田市电信
121.205.213.*	福建省莆田市电信
121.205.214.*	福建省莆田市电信
121.205.215.*	福建省莆田市电信
121.205.238.*	福建省莆田市电信
121.205.239.*	福建省莆田市电信
121.205.240.*	福建省莆田市(仙游县)电信
121.205.241.*	福建省莆田市电信
121.205.242.*	福建省莆田市电信
121.205.243.*	福建省莆田市电信
121.205.246.*	福建省莆田市(仙游县)电信
121.205.247.*	福建省莆田市(仙游县)电信
121.205.248.*	福建省莆田市(仙游县)电信
121.205.249.*	福建省莆田市(仙游县)电信
125.78.231.*	福建省莆田市电信
173.231.133.*	美国 CZ88.NET
178.249.14.*	西班牙 CZ88.NET
184.168.152.*	美国亚利桑那州斯科茨代尔市Go Daddy集团公司
184.168.46.*	美国亚利桑那州斯科茨代尔市Go Daddy集团公司
188.143.232.*	俄罗斯 CZ88.NET
189.219.70.*	墨西哥 CZ88.NET
192.99.13.*	加拿大 CZ88.NET
192.99.2.*	加拿大 CZ88.NET
198.245.51.*	加拿大 CZ88.NET
199.16.201.*	美国 CZ88.NET
211.125.78.*	日本 CZ88.NET
213.183.27.*	德国 CZ88.NET
218.57.46.*	山东省菏泽市联通
218.86.50.*	福建省莆田市荔城区电信ADSL
218.86.51.*	福建省莆田市电信ADSL
220.161.100.*	福建省莆田市涵江区电信
220.161.126.*	福建省莆田市电信
220.161.127.*	福建省莆田市电信
220.161.168.*	福建省莆田市电信
220.161.98.*	福建省莆田市涵江区电信
221.178.189.*	江苏省连云港市移动
222.77.201.*	福建省莆田市电信
222.77.204.*	福建省莆田市电信
222.77.205.*	福建省莆田市电信
222.77.206.*	福建省莆田市电信
222.77.207.*	福建省莆田市电信
222.77.212.*	福建省莆田市电信
222.77.213.*	福建省莆田市电信
222.77.214.*	福建省莆田市电信
222.77.215.*	福建省莆田市电信
222.77.218.*	福建省莆田市电信
222.77.224.*	福建省莆田市电信
222.77.225.*	福建省莆田市电信
222.77.226.*	福建省厦门市电信
222.77.227.*	福建省莆田市电信
222.77.228.*	福建省莆田市电信
222.77.229.*	福建省莆田市电信
222.77.246.*	福建省莆田市电信
222.77.247.*	福建省莆田市电信
27.150.196.*	福建省电信
27.150.197.*	福建省电信
27.150.198.*	福建省电信
27.150.199.*	福建省电信
27.150.210.*	福建省电信
27.150.211.*	福建省电信
27.150.220.*	福建省电信
27.150.221.*	福建省电信
27.150.222.*	福建省电信
27.150.223.*	福建省电信
27.150.228.*	福建省电信
27.150.229.*	福建省电信
27.150.230.*	福建省电信
27.150.231.*	福建省电信
27.150.240.*	福建省电信
27.150.241.*	福建省电信
27.150.242.*	福建省电信
27.150.245.*	福建省电信
27.150.246.*	福建省电信
27.153.128.*	福建省泉州市电信
27.153.134.*	福建省泉州市电信
27.153.160.*	福建省泉州市电信
27.153.161.*	福建省泉州市电信
27.153.162.*	福建省泉州市电信
27.153.163.*	福建省泉州市电信
27.153.184.*	福建省泉州市电信
27.153.185.*	福建省泉州市电信
27.153.186.*	福建省泉州市电信
27.153.187.*	福建省泉州市电信
27.153.204.*	福建省莆田市电信
27.153.205.*	福建省莆田市电信
27.153.206.*	福建省莆田市电信
27.153.207.*	福建省莆田市电信
27.153.208.*	福建省莆田市电信
27.153.209.*	福建省莆田市电信
27.153.210.*	福建省莆田市电信
27.153.211.*	福建省莆田市电信
27.153.216.*	福建省莆田市电信
27.153.217.*	福建省莆田市电信
27.153.218.*	福建省莆田市电信
27.153.219.*	福建省莆田市电信
27.153.228.*	福建省莆田市电信
27.153.229.*	福建省莆田市电信
27.153.232.*	福建省莆田市电信
27.153.233.*	福建省莆田市电信
27.153.234.*	福建省莆田市电信
27.153.235.*	福建省莆田市电信
27.153.248.*	福建省莆田市电信
27.153.249.*	福建省莆田市电信
27.153.250.*	福建省莆田市电信
27.153.251.*	福建省莆田市电信
27.159.192.*	福建省莆田市电信
27.159.193.*	福建省莆田市电信
27.159.194.*	福建省莆田市电信
27.159.196.*	福建省莆田市电信
27.159.197.*	福建省莆田市电信
27.159.199.*	福建省莆田市电信
27.159.200.*	福建省莆田市电信
27.159.201.*	福建省莆田市电信
27.159.203.*	福建省莆田市电信
27.159.207.*	福建省莆田市电信
27.159.208.*	福建省莆田市电信
27.159.209.*	福建省莆田市电信
27.159.210.*	福建省莆田市电信
27.159.211.*	福建省莆田市电信
27.159.213.*	福建省莆田市电信
27.159.214.*	福建省莆田市电信
27.159.228.*	福建省莆田市电信
27.159.229.*	福建省莆田市电信
27.159.230.*	福建省莆田市电信
27.159.231.*	福建省莆田市电信
27.159.232.*	福建省莆田市电信
27.159.233.*	福建省莆田市电信
27.159.234.*	福建省莆田市电信
27.159.235.*	福建省莆田市电信
27.159.236.*	福建省莆田市电信
27.159.237.*	福建省莆田市电信
27.159.238.*	福建省莆田市电信
27.159.239.*	福建省莆田市电信
27.159.252.*	福建省莆田市电信
27.159.253.*	福建省莆田市电信
27.159.254.*	福建省莆田市电信
27.159.255.*	福建省莆田市电信
41.78.26.*	肯尼亚 CZ88.NET
50.97.43.*	美国德克萨斯州达拉斯市SoftLayer科技公司
58.180.45.*	韩国 CZ88.NET
58.20.223.*	湖南省株洲市联通
59.57.168.*	福建省厦门市电信
59.58.115.*	福建省莆田市电信
59.58.136.*	福建省莆田市电信
59.58.137.*	福建省莆田市电信
59.58.138.*	福建省莆田市电信
59.58.139.*	福建省莆田市电信
59.58.148.*	福建省莆田市电信
59.58.149.*	福建省莆田市电信
59.58.154.*	福建省莆田市电信
59.58.155.*	福建省莆田市电信
59.58.156.*	福建省莆田市电信
59.58.157.*	福建省莆田市电信
59.58.158.*	福建省莆田市电信
59.58.159.*	福建省莆田市电信
59.60.121.*	福建省莆田市电信
59.60.124.*	福建省莆田市电信
60.169.77.*	安徽省芜湖市电信
64.146.64.*	美国加洲
66.196.19.*	美国加州
81.252.151.*	法国 CZ88.NET
85.109.120.*	土耳其电信
88.159.123.*	荷兰 CZ88.NET
89.165.56.*	伊朗 CZ88.NET
95.168.196.*	捷克 CZ88.NET

一个有趣的现象,这其中有大量的来自福建莆田的IP,在网上搜索垃圾评论的话,也会发现很多也都来源于类似的IP段。这些人为了利益,大量消耗别人网站的资源,实在是令人厌恶。

要屏蔽掉这些垃圾评论的访问,比较彻底的方法可以设置IP地址规则,拒绝以上这些IP地址段的访问,例如在.htaccess文件中加入拒绝访问的IP地址清单:

order allow,deny
deny from 110.82.132
deny from 117.26.116 
allow from all

但这样做的副作用也很明显,会误伤这个区域的正常访问用户。所以另外一种限制思路就是不拒绝访问,但是限制垃圾评论的提交,减轻Akismet的工作负担。
这些垃圾评论大多不是通过页面表单提交,而是机器人的代码访问,有一种方法是修改提交评论的PHP文件“wp-comments-post.php”的文件名和相关调用代码,让机器人无法自动提交评论。
另一种方法是在评论内容当中增加关键词规则限制,例如有的限制不允许使用纯英文评论,以此来屏蔽大部分只有纯英文的垃圾评论。我的网站由于也会有一部分来自国外的访问用户,因此使用这种限制方式并不太妥当,因此采用了另外一种限制方法:不允许评论当中出现一次以上的网址或链接。由于垃圾评论中大绝大部分都会带上大量的网址链接,因此这种规则虽然不能保证全面覆盖,但也至少可以禁绝一大部分垃圾评论。
具体的设置方法是在主题中找到Functions.php,在其中加入以下代码:

function filter_comment_post( $incoming_comment ) {
  $pattern_link = '/http:\/\//is';
  if( preg_match_all($pattern_link, $incoming_comment['comment_content'] , $aa) >1) {
        wp_die( "评论中禁止出现1个以上的网址" );
     }
       return( $incoming_comment );
}
     add_filter('preprocess_comment', 'filter_comment_post');

过滤器设置好以后,新增垃圾评论的数量下降明显,一天下来只有7条漏网(在此之前日均1500条),看来已经起作用了。后续继续观察一段时间再来谈谈效果。
03

一条评论

  1. 爱爱做的事说道:

    看来效果很明显,我的已经加上了,期待中!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>