本文将详细介绍如何采取三步曲彻底告别烦人的 WordPress 批量垃圾评论问题,还你一个干净清爽的后台评论区。

刚开始使用 WordPress 程序建站的朋友们肯定或多或少都被其批量垃圾评论困扰过。然后大家就开始寻思解决的办法,找到的网上说法大都是 Akismet Anti-Spam 等类似 WP 插件或者是添加一些代码。

这些方法像 WP自带的 Akismet Anti-Spam 插件要么需要去第三方注册还会给数据库增加垃圾数据拖慢网站,要么就是代码功能不全面还有大量的“漏网之鱼”,总之就是效果都不尽如人意。

防止 WordPress 垃圾评论留言

下面将遇到的不同类型的 wordpress 批量垃圾评论留言采取针对性的反制三步曲,争取彻底告别批量的垃圾评论留言。

首先,限制访问 WP 网站根目录下 wp-comments-post 文件

为什么很多人安装了各种添加数字、图片或滑动按钮等类似验证码功能的插件而批量垃圾评论没见明显减少呢,就是因为这类垃圾评论不用填写表单直接 post wp-comments-post 文件而来,所以再多的验证码也无济于事,所以限制 wp-comments-post 文件的访问权限就能基本防止这类垃圾评论了。

禁止访问 wp-comments-post 文件的方法因网站安装环境不同而有多种,这里就说一下 Apache 下利用 .htaccess 限制 IP 访问的办法。

在根目录的 .htaccess 文件中添加以下代码:

Order deny,allow

Deny from All

Allow from 127.0.0.1

其中,第4行可以更改添加你所允许的特定 IP 地址或者删除什么都不加。

第二步,非插件代码式的添加计算结果验证码

限制直接 post wp-comments-post 文件的批量垃圾评论后还有机器人批量导入表单的垃圾留言需要解决,这就需要简单的验证码来实现了,但这么一个简单的功能还要安装一个插件消耗网站资源,怎么想都不是很划算,所以这里就用添加代码的方法来实现了。

在你主题目录下的 funtions.php 文件加入以下代码:

//自定义算术验证函数

function spam_protection_math(){

//获取两个随机数, 范围0~9

$num1=rand(0,9);

$num2=rand(0,9);

//最终网页中的具体内容

echo

""

.""

."";

}

function spam_protection_pre($commentdata){

$sum=$_POST['sum'];//用户提交的计算结果

switch($sum){

//得到正确的计算结果则直接跳出

case $_POST['num1']+$_POST['num2']:break;

//未填写结果时的错误讯息

case null:err('抱歉: 请输入下面框中的计算结果.');break;

//计算错误时的错误讯息

default:err('错误: 输入的计算结果不正确,请重新输入!');

}

return $commentdata;

}

if(!is_user_logged_in() && $comment_data['comment_type']==''){

add_filter('preprocess_comment','spam_protection_pre');

}

并在你的主题文件夹下 commenter.php 文件的相应位子加入调用代码:(一般就是就是昵称和邮箱下面和提交评论按钮前的地方)

注意:可以适当修改 css 从而配合你的主题样式(一般就是套用昵称和邮箱的 css样式即可),如有什么不清楚的地方可下面留言共同探讨!

最后,再完善一下,禁止非汉字评论和限制评论字数

还是在当前 WP 主题目录下的 funtions.php 文件中加入代码:

// WordPress留言禁止非汉字评论

function BYMT_comment_post( $incoming_comment ) {

$pattern = '/[一-龥]/u';

$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';

if(!preg_match($pattern, $incoming_comment['comment_content'])) {

err( "抱歉,您的评论必须含有汉字" );

}

if(preg_match($jpattern, $incoming_comment['comment_content'])){

err( "抱歉,您的评论必须含有汉字" );

}

return( $incoming_comment );

}

add_filter('preprocess_comment', 'BYMT_comment_post');

//WordPress留言评论字数限制

function Paopao_comment_length( $commentdata ) {

$minCommentlength = 5; //最少输入2个字

$maxCommentlength = 100; //最多输入100个字

$pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 1个中文字符当作1个长度

if ( $pointCommentlength < $minCommentlength )

{

err( __('抱歉,您的评论太短了,请至少输入'. $minCommentlength .'个字(已输入'. $pointCommentlength .'个字)') );

}

if ( $pointCommentlength > $maxCommentlength )

{

err( __('抱歉,您的评论太长了,请不要超过'. $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)') );

}

return $commentdata;

}

add_filter( 'preprocess_comment', 'Paopao_comment_length' );

以上代码都可以根据自己的需要适当修改,如提示语言和限制字数的多少。

好了,完成上面的三步曲后,一段时间后你再看看你的 wordpress 网站还会有批量垃圾评论留言了吗,是不是感觉整个世界都清净了!(* ̄︶ ̄)

php批量评价,彻底杜绝 WordPress 批量垃圾评论留言的三步曲相关推荐

  1. 五种WordPress防止垃圾评论方法-过滤垃圾评论提高WP运行效率

    点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 最近小编wp后台老是收到烦人的文章垃圾评论,并且评论是机器人发过来的.请看下图: 为了防止对方机 ...

  2. pdf批量添加图章_1分钟学会制作电子公章,三步搞定,轻松在PDF文件中添加公章图片...

    相信职场办公的各位都有同感吧,平常需要盖章的地方真的蛮多的,如果是纸质文件还好,但是电子文档如何盖章呢?其实也很简单,今天小编就教大家用Word制作电子印章,超简单的,三步就搞定,一起看看吧! 一.如 ...

  3. WordPress 如何有效拦截和过滤垃圾评论

    WordPress垃圾评论一直都是比较烦人的,如果你没有采用有效的拦截方式,你会发现,仅仅一天时间,你的WordPress站点就会有数以万计的垃圾评论!那么,如何有效地拦截过滤垃圾评论? spam-c ...

  4. WordPress 如何阻止垃圾评论?

    点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 原文地址 https://www.fang1688.cn/study-code/2848.htm ...

  5. easyui关闭dialog后刷新父页面_两种方法WordPress批量打开、关闭文章评论功能

    WordPress没有一键打开和关闭已发表文章评论的功能.只是是否允许在新发表的文章发表评论,或者自动关闭发布多少天前的文章的评论功能.由于一些需要,我们需要关闭最初在网站上打开的WordPress文 ...

  6. WordPress批量添加、修改、删除自定义字段的sql命令

    写一下WordPress批量添加.修改.删除自定义字段的sql命令,今天有个小伙伴问我一个问题,原本他用的是另外一个主题,看见日主题比较美观,于是他换到了日主题,用日主题的时候遇到了个问题,凡是资源站 ...

  7. WordPress批量删除文章失效图片_批量删除文章404超链接教程

    WordPress批量删除文章失效图片_批量删除文章404超链接教程 当你的WordPress网站运营了一段时间,比如几年,网站很可能就会存在不少失效链接,文章中404超链接.批量删除文章中失效图片, ...

  8. wordpress批量导入文章详细教程

    在用wordpress搭建网站时,我们可能需要将过往的文章或者提前准备好的网站资料录入网站.当文章太多时难免就想找个省时省力的批量导入方法.经过尝试,终于找到一款比较简单实用的插件–WP ALL IM ...

  9. insert批量插入500ms_不吹牛!Mysql 千万数据10秒批量插入只需三步

    作者:师太,老衲把持不住了 原文:http://suo.im/4RYaVg 第一步:配置my.ini文件文件中配置bulk_insert_buffer_size=120M 或者更大将insert语句的 ...

最新文章

  1. MySQL权限管理-安全与效率的折中
  2. 十四、Linux进程编程
  3. c++ 纯虚函数和抽象类那些事(二)实现抽象类
  4. SQL I/O操作学习笔记
  5. 智慧城市_城市大脑:加速构建智慧城市
  6. 初学ACM之路(训练大纲)
  7. 电子工程可以报考二建_非工程类专业也能报考二建吗?
  8. 线性代数分块矩阵求逆矩阵_单位矩阵属性(AI = A)| 使用Python的线性代数
  9. 性能测试培训: 监控CPU之python
  10. C# 3.0新语言特性和改进
  11. C#调用天气查询服务
  12. 绘制正方形图形(C语言)
  13. 图形化开发(五)042-Three.js之Camera相机——正交相机和透视相机的对比
  14. 和菜鸟一起学android4.0.3源码之vibrator振动器移植心得
  15. 判断是否是回文字符串两种方法
  16. 基于Python操作Word
  17. ESP8266 快速对接小爱同学 语音控制
  18. python画十字_python matplotlib作带上下限的十字图
  19. 层净高怎么算_楼层高度如何算 楼层高度标准
  20. adb shell dumpsys meminfo 内存测试指标解析

热门文章

  1. CoreJava 笔记总结-第四章 对象与类
  2. php怎么上传函数,PHP单文件上传原理及上传函数的封装操作示例
  3. 数据结构:链表(c语言)
  4. Windows上搭建EMQTT服务器
  5. 最大流,最小费用最大流:解析 + 各种板子
  6. BZOJ #3064. Tyvj 1518 CPU监控(线段树,历史最值)
  7. cf600 E. Lomsat gelral
  8. 洛谷P1074:靶形数独(搜索、剪枝)
  9. P2408- 不同子串个数【SA】
  10. jzoj3169-[GDOI2013模拟4]生产汽车【斜率优化dp,单调队列,二分】