WordPress 的垃圾评论可能对于所有的用户来说都是个问题,系统的普及性导致了垃圾评论工具也愿意去针对 wp 进行一系列的开发。对于评论发送者来说在目标足够多的情况下,成本是足够低廉的。
当然,使用 wp 系统的应该也都安装了一系列的插件来阻挡垃圾评论,例如akismet,能够过滤识别大多数的垃圾评论,一年的统计数据已经有 1.5 万多条数据:
这还是期间改过一些平路提交的限制代码,限制了评论长度。有段时间发布的垃圾评论,一条评论包含了几百个网站链接,每天有数十条。后来通过代码 hook 限制了评论长度之后,这些垃圾评论少了很多。
现在又呈现出另外一种趋势,那就是评论长度短了,但是每条评论都带评论地址。所以在这个基础之上,继续完善了一下评论规则,如果是非中文评论,带链接 url,直接禁止此类评论。之所以保留了英文评论是因为偶尔有那么几个所谓的外国人会发一些英文评论,当时也有可能是假洋鬼子。这个不好说。
不过让人比较方案的是,有一部分分享内容设置了回复可见,于是就 tm 有些傻吊发些无意义的英文字符,看到这种垃圾评论一律直接删除,没有意外。连基本的尊重都没有,都 tm 白嫖 嫖习惯了这是。
调整之后的代码,添加到 functions.php 中:
/* * WordPress控制文章评论最少字数 */ function custom_comment_length( $commentdata ) { $max_length = 800; // 设置最大字数限制 if ( mb_strlen( $commentdata['comment_content'] ) > $max_length ) { wp_die( '额,你评论的内容太多啦,最多可以输入800个字,不要再评论区写论文啊!' ,'宝贝,出错了哦 - obaby@mars', array( 'back_link'=>true ) ); } if ( ! is_admin() ) { $comment_content = $commentdata['comment_content']; if ( preg_match( '/[\x{4e00}-\x{9fa5}]/u', $comment_content ) === 0) { if (strpos($commentdata['comment_author_url'],'http')!==false || strpos($comment_content,'http')!==false){ wp_die( '不要乱发哦,让姐姐我不开心就不好了嘛!','姐姐我不开心啦! - obaby@mars', array( 'back_link'=>true ) ); } } } return $commentdata; } add_filter( 'preprocess_comment', 'custom_comment_length' );
当然,针对不能出现的关键字可以直接在 wp 的后台讨论中设置:
上面的关键字都是专门针对前端时间跑到别人博客到处骂人的那个傻吊设置的。
实际屏蔽效果:
希望没有误伤,嘻嘻
57 comments
有一段时间垃圾评论真的很多 我也加了屏蔽代码依然有 偶尔登录一下后台 删除一下
的确,很难斩草除根
我用的是第三方过滤库,效果还可以
过滤效果还行 现在是直接不想看到这些垃圾 嘎嘎
看了杨璞,内心噗呲一声
看到杨*璞,心里噗呲一声
哈哈哈 遇到熟人了不是
WordPress太多人用了,每个Wordpress用户都必须面对的一个难题。
嗯嗯,是哒
玩WP的人首要解决的一个问题,虽然是老生常谈,但是还必须要经常地谈。
各种垃圾程序也是与时俱进
我没有用反垃圾程序,是因为不想发生“24口交换机”的笑话。
这个是什么笑话啊?我怎么没听过呢?
谁 口交 了谁?
你不知道这个笑话?因为敏感词,“24口交换机”被换成“24嘴交换机”
现在已经到处都是 口口口 了
那个路口交通事故
辣鸡评论倒没有,有些脸滚键盘的回复让我挺头大的
哈哈哈 有效屏蔽脸滚键盘
第一个关键词可太熟悉了,之前看他在各个博客里面说脏话
问题是那个傻狗还跑到别人的博客去骂我,真tmd神了
圈子太大了你,经常都能再各大博客看到你,树大招风,有些人拿你博客练手了估计,我的站就没人来乱评现在,刚开始乱七八糟的都有,现在别说乱发的想互动交流的看看那我那复杂的流程分分钟跑路了哈
你的直接劝退,哈哈哈。
之前一直在用滑动解锁验证,感觉还是不错的。
当然不用验证就能评论最方便了,wp官方的akismet效果还是不错的。
嗯嗯,是的,识别率蛮不错的。我现在是想彻底屏蔽掉那些,不然每天都有数十条,删除起来都恶心
对了,看你文章提过,你是家里的宽带+CDN实现的,那么你的网站带宽是多少?
网站带宽就是我家用宽带的上传速度,哈哈哈。
厉害大发了,这样就不用备案了吧??
用国内的cdn还是需要备案的,如果用国外的就不需要备案了。
就你这资源,不用cdn也可以撒
不行啊 运营商把80 443屏蔽啦
这也太幸福了。都可以做视频站了。
嗯嗯,家里nas的影片从任何地方播放基本都毫无压力。不过做食品展就算啦。嘻嘻
WP系统机器人发布的垃圾评论太多了,防不胜防,加些限制可以屏蔽大部分,这样就清爽不少。
嗯嗯 是的呢 太多了
我哪里人少 ~垃圾评论都看不上我哪里
早晚会有的 嘻嘻
我好像好久没收到垃圾评论了,还是被清理了,不知道,反正没见过了
看来插件过滤效果不错啊 我这两天清静了许多
哥就没这烦恼。毕竟常年1ip。
不至于
之前有过一些英文垃圾评论,直接弄个中文检测搞定,iis好难用,高并发一塌糊涂,同主机内的alist并发简直不要太好
有段时间假冒外国人约朋友的,就很闹心,最近还好啦
嗯嗯,所以约到外国朋友了吗?嘻嘻
我的Akismet过滤效果还好,之前记得有个专门过滤无中文的插件,更强一些,大部分垃圾评论都是英文的。
嗯嗯,现在也有一些插件,但是不想装了。所以就自己撸代码了
我博客从开站到现在07-15,23-24,akismet统计显示已经有20多万条了垃圾评论。。。
是的,这个东西还是蛮好用的,我这里一共过滤了475,768条了。
集美朋友圈为啥获取不了了,后台服务停止了还是BUG了?
额,服务停了。哈哈哈。迁移系统的时候把这个服务给忘了
好啦,修复了。嘻嘻
惊叹WP的扩展性~
只有想不到的,没有做不到的。嘎嘎
我的站点评论总数不过百,无所畏惧
会越来越多的
没有误伤。我的经验是,用ajax评论代替原生评论,可以屏蔽大部分机器人,剩下的用关键字。
之前还一直没有来,正好学习一哈