Nginx 屏蔽WordPress垃圾评论

前言

相信大部分用WordPress做博客/网站的用户都有这个问题,就是垃圾评论太尼玛多了,
不管是多么牛逼哄哄的大神级博客,还是毫不起眼无人问津的小白博客,都很难逃脱垃圾评论的骚扰,并且大部分都是一些英文的留言内容-。-
在之前,我一直用的WordPress自带的Akismet插件,有免费版的授权申请,并且效果还挺好的,大部分的垃圾评论都被拦截了,所以这个插件还是很值得推荐使用的。
但是Akismet虽然能够拦截垃圾评论,但是每当进入后台看到目前有多少条垃圾评论的时候,我会忍不住点击清空所有垃圾评论,这样每隔段时间就要清理,对于我这么懒得人来说还是一种折磨。
在这种情况下,我不得不再找其他办法来解决这个问题了。

禁ip

禁IP是最简单最快捷的办法了,对于长期只是用那么几个IP来发垃圾评论的来说是很有效的办法,但是,现在基本上没几个只是用固定IP来干这事的了

修改 .htaccess 文件,添加如下代码:
Order Allow,Deny Deny from 112.121.33.212(填写要禁止的IP,一行一个) Deny from 112.121.33 (禁止某IP段) Allow from all 这样,当被禁止的IP访问网站时会出现如下提示信息:

Forbidden
You don’t have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

禁User Agent

通过分析访问日志,发现大部分的恶意评论用的都是固定的User Agent,那么就可以通过禁止User Agent来达到效果。实现的方法是修改网站conf配置文件,在server大括号里面加上以下代码:

if ( KaTeX parse error: Can't use function '\(' in math mode at position 33: …* "Mozilla/5.0 \̲(̲Windows NT 6.1;…http_user_agent,如果为Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 则返回403
return 403;
}
这对于使用固定UA的访问来说是很有效果的,但是很可能造成误伤,只要是匹配到这个UA的访问都会被返回403,所以对上面的代码进行了修改完善,通过缩小范围来屏蔽垃圾评论:

set s t o p 0 ; i f ( stop 0; if ( request ~* “/wp-comments-post.php”){
set s t o p " stop " {stop}1";
}
if ($http_user_agent ~* “Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0”){
set s t o p " stop " {stop}2";
}
if ($stop = “012”){
return 403;
}
上面的代码可以实现只对访问wp-comments-post.php的指定UA进行屏蔽。

可是这还不够,因为没过几天,发现评论垃圾又出来了,很明显他们修改了UA了,所以这个方案还是不靠谱。

利用COOKIE屏蔽

上面的方案失败了,其实也早知道上面的办法不是长久之计,只是没时间去搞这个,只是先应付一阵子也好。最后想到了通过COOKIE来屏蔽,因为通过记录访客的cookie发现了垃圾评论是没有cookie的,所以这就简单了,只哟判定cookie为空就行,这里我只对wp-comments-post.php的访问进行了判断,因为其他页面也判断的话还需要考虑排除各种搜索蜘蛛,这里我们只要拦截垃圾评论就行,所以最后的代码如下:

set s t o p 0 ; i f ( stop 0; if ( request ~* “/wp-comments-post.php”){
set s t o p " stop " {stop}1";
}
if ($http_cookie = “”){
set s t o p " stop " {stop}2";
}
if ($stop = “012”){
return 403;
}
上面的代码加到网站conf配置文件,在server大括号里面

最后

到这里,屏蔽WordPress垃圾评论的操作基本介绍完了,可是这还是会有不完美的地方,比如我们现在可以很容易的记录网站的cookie了,所以对于cookie的解决方案还有完善的地方。

发布了19 篇原创文章 · 获赞 0 · 访问量 1443

猜你喜欢

转载自blog.csdn.net/qq_22356995/article/details/104157092