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 相关文章推荐
GBK的页面输出JSON格式的php函数
Feb 16 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
php实现的返回数据格式化类实例
Sep 22 PHP
php程序员应具有的7种能力小结
Nov 27 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
PHP 验证登陆类分享
Mar 13 PHP
PHP数组和explode函数示例总结
May 08 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
php中二分法查找算法实例分析
Sep 22 PHP
php事件驱动化设计详解
Nov 10 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
jQuery学习基础知识小结
2010/11/25 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
Python入门教程之if语句的用法
2015/05/14 Python
python实现猜单词小游戏
2020/05/22 Python
Python地图绘制实操详解
2019/03/04 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
解释下面关于J2EE的名词
2013/11/15 面试题
护理学专业推荐信
2013/12/03 职场文书
单位绩效考核方案
2014/05/11 职场文书
财务负责人岗位职责
2015/02/03 职场文书
史上最牛的辞职信
2015/02/28 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
ipad隐藏软件app图标方法
2022/04/19 数码科技