wordpress快速删除海量垃圾评论及有效防止垃圾评论方法

今天中午照常打开博客后台看一下,发现出现了两万多条评论待审,然后打开一看,发现都是垃圾评论,这么多待审评论,不可能手工删除,于是先记下垃圾评论的IP地址,然后进入后台登陆mysql,使用sql命令直接清除掉所有的待审评论和垃圾评论,命令如下:

delete from wp_comments where comment_approved = '评论类型'

这里wp_comments是wordpress用来存储评论的数据库表,后面的’评论类型’是说要删除什么评论,这里评论类型有三种:spam: 垃圾评论;0: 未审核评论;1: 已审核评论。Ok,那就删除所有的待审评论和垃圾评论,用到了如下命令:

delete from wp_comments where comment_approved = 'spam';
delete from wp_comments where comment_approved = '1';

这样就删除了,然后刷新,确实没了,但是突然又多出来两条待审评论,打开一看还是跟刚才的垃圾评论一样,瞬间明白,垃圾评论机器人下载还在运行着呢,也就是还在继续往我的博客中发布垃圾评论。查了下该IP,发现是来自俄罗斯,那就索性把整个IP所在的IP端禁掉得了,打开nginx禁掉垃圾评论来源IP段,看准,这里是禁止整个IP段,而不是禁掉某个IP访问,因为,垃圾评论机器人会不断的变换IP进行评论发布。首先在nginx/conf目录下找到nginx.conf,然后在http块中加入

deny 185.112.103.147/24

这里的意思是说禁止185.112.103.*的所有IP,也就是禁掉了一个C类IP地址段。然后到nginx/sbin目录下先进行测试修改后是否有语法错误,

./nginx -t

这个时候会提示忽略掉IP地址的低8位,这正是我们要的,因为我们不管最后的8位是什么统统禁掉。然后就可以重启nginx

./nginx -s reload

这样之后就起作用了,这个垃圾源就被禁止了。
然后打开nginx的访问日志,发现这个IP段的很多IP还在疯狂的请求着发垃圾评论,但是返回的HTTP状态码全部为403,也就是被禁止访问了。这样解决了这个垃圾源,但是以后可能会有各种垃圾源出现,而且如果这个IP出现在国内,我们就不能简单的禁掉整个IP段了,因为这样会导致很多正常的用户也无法访问我们的网站,上面之所以全部禁掉是因为此IP来自俄罗斯,俄罗斯使用俄语,而我的博客只有中文,所以可以直接禁掉整个段,不会有误杀情况出现。
下面就找一个比较普遍的方法来禁止垃圾评论机器人,一般垃圾评论机器人是利用网站根目录下wordpress自带的wp-comments-post.php来提交垃圾评论的,也就是这个页面就是垃圾评论的入口页面,我们可以修改这个页面的名称,让其找不到入口页面,这样他也就没法发垃圾评论了,我们可以把它改成一个比较生僻的名称,比如yqqlm-gs1cl-net-sb.php。而大多数主题都是通过这个页面进行提交评论的,所以我们可以进入到主题目录下也就是wp-content/theme/xxx,这里xxx是自己的主题名称,修改comments.php,在里面找到wp-comments-post.php,将其修改成yqqlm-gs1cl-net-sb.php,跟刚才改的名字一样即可。

至此就完成了一次垃圾评论攻防体验,以后就能很好的防止机器垃圾评论了。这对于wordpress博客来说是很好的一种方式,既可以免去插件,又可以起到很好的效果,目前本站就是一部分采用了这种方法,效果蛮不错的。

快速删除待审评论,快速删除垃圾评论,wordpress,防止垃圾评论,nginx,禁掉某个IP访问,禁掉某个IP段访问,垃圾源

使用sql命令快速直接清除掉大量的待审评论和垃圾评论,WordPress网站应该都饱受垃圾评论的灾难,尝试各种方式来进行防止垃圾评论,安装了不少插件,不但拖慢网站速度,还是防不住。本文给出的方法无需插件,只需简单修改就能有效防止垃圾评论,还您一个干净的网站。

本文遵从CC3.0协议转载请注明:转自凌风技术站

本文标题:wordpress快速删除海量垃圾评论及有效防止垃圾评论方法

本文链接地址:http://www.iaccepted.net/web/38.html

相关文章



发表评论

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