在网络上充斥着很多垃圾信息,对于 WordPress 网站来说,只要开启了评论功能,似乎难以避免的会碰到垃圾评论。就算开启了评论需要人工审核,每天都要在后台审核几条或者几十条垃圾评论也挺繁琐。
面对这种现象,有些网站只好无奈的关闭了评论功能。之前站长帮发布过一篇《阻止WordPress垃圾评论 – 免插件教程》,该文介绍的方法可以阻止无汉字评论和评论内容带超级链接的评论,但有些站长反馈这样做会一刀切,因为有些网站本来就是有海外访问者的。
本文将介绍另外一种方式,借助 Cloudflare 之类的防火墙(免费),来阻止WordPress垃圾评论,该方法更人性化。相比 Akismet 插件而言,不会消耗额外的服务器性能。
下面以 Cloudflare 为例,其它支持 WAF 防火墙规则的CDN或安全平台都可以,原理一致,例如百度云加速等。
表达式:
(http.request.uri.path contains "comments-post.php")
实现的原理:所有对URL中包含“comments-post.php”的访问请求(wp-comments-post.php文件是发送评论的程序),均会进行一个验证。如果是正常的访问者,很容易通过验证,如果是机器那就绕不过去了。
- 如果访问者验证失败,请求将被阻止
- 如果访问者通过验证,则允许请求
注:这对于人工发送垃圾信息是无法拦截的,但大多数的垃圾信息来自于自动化程序。
如果使用百度云加速,则需要新增一条特定页面规则,开启浏览器检查功能。如下图:
如果使用其它的CDN或安全平台,可以参照以上示例进行配置。
知识点总结:
- WordPress中发送评论的程序是wp-comments-post.php,垃圾评论发送程序都会扫描该文件。
- 通过防火墙或其它技术手段,针对wp-comments-post.php的访问进行人机验证,就能有效阻止垃圾信息发送程序。
© 版权声明
文章版权归作者所有,未经允许请勿转载。