WordPress过滤垃圾评论的几种主要方法小结


Posted in PHP onJuly 11, 2016

由于个人博客小站的空间与mysql空间往往有限,共享服务器资源也有限,所以垃圾评论一定要拦截在写入数据库之外。

更可气的是看到空间的统计,很几千的IP访问,但基本上都是这个垃圾评论的IP,所以实在不能忍

网上找了一些方法,主要有三个,如果将这三个一块使用基本上就可以拦截绝大多数垃圾评论

一、使用Akismet插件(https://wordpress.org/plugins/akismet/),后台申请一个免费的key,可以拦截99%的垃圾评论,但是这个插件还是会将垃圾评论写入数据库的,一会几千条甚至上万条垃圾评论,虽说可以设置15天后自动删除,但是看着也别扭,于是加上第二种方法。

二、更改wp-comments-post.php名称

这种方法是先将wp-comments-post.php改为随便的名字,然后在你主题文件的comments.php中将wp-comments-post.php改为你刚才改过的名字

但是现在的spam机器人太强了,这种方法基本上没有任何作用,垃圾评论还是会进入到后台的垃圾评论里,于是采取第三种方法,过滤掉纯英语的垃圾评论,这种评论占了垃圾评论的很大一部分

三、过滤纯英文垃圾评论

在你主题的functions.php中添加以下代码

function refused_spam_comments( $comment_data ) { 
  $pattern = '/[一-?]/u'; 
  if(!preg_match($pattern,$comment_data['comment_content'])) { 
  wp_die('评论必须含中文!'); 
} 
  return( $comment_data ); 
} 
add_filter('preprocess_comment','refused_spam_comments');

其中[一-?]这个正则表达式代表所有中文,这时纯英文的垃圾评论算是过滤掉了,但是还有另外一种垃圾评论,日文的……

日文的采用同样的方法,请几个常出现的日文假名写入到正则表达式中ッ、の、ン、??、?I、グ、?

function fuckjp_comment_post( $incoming_comment ) {
  $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|??|?I|グ|?|]/u';
  if(preg_match($http, $incoming_comment['comment_content'])) {
  wp_die( "日本广告离开!" );
}
  return( $incoming_comment );
}
add_filter('preprocess_comment', 'fuckjp_comment_post');
PHP 相关文章推荐
队列在编程中的实际应用(php)
Sep 04 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
Smarty模板配置实例简析
Jul 20 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
php处理带有中文URL的方法
Jul 11 #PHP
PHP实现JS中escape与unescape的方法
Jul 11 #PHP
php处理复杂xml数据示例
Jul 11 #PHP
php的debug相关函数用法示例
Jul 11 #PHP
php错误日志简单配置方法
Jul 11 #PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 #PHP
PHP封装的数据库保存session功能类
Jul 11 #PHP
You might like
php新建文件自动编号的思路与实现
2011/06/27 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python保存网页图片到本地的方法
2018/07/24 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
大学生标准推荐信范文
2013/11/25 职场文书
付款委托书范本
2014/04/04 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技