WordPress的垃圾评论实在是太凶猛了,不装AKismet的话,正规的评论和垃圾评论都跑到待审里了,装上吧,又不停的在数据库的wp_commentmeta中写入日志,我的博客每天都要写入千条左右,现在metaid已经到了9万多,前阵子加入了禁止纯英文的评论代码后,垃圾评论少多了,但是还有有部分日语和俄语的垃圾评论,因为日语里有部分的汉字,所以之前的屏蔽就失效了,下面分享下禁止英语、日语、俄语、韩语、阿拉伯语、泰语的反垃圾评论代码
因为我的博客使用的err代码,不过一般都是使用wp_die的,如果你使用我提供的代码出错,把所有的err都改成wp_die就好了
一、屏蔽所有纯英语、日语、俄语、韩语、阿拉伯语、泰语评论
- // 禁止全英日俄韩阿泰语评论
- function ssdax_comment_all_post( $incoming_comment ) {
- $enpattern = '/[一-龥]/u';
- $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
- $ruattern ='/[А-я]+/u';
- $krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u';
- $arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
- $thattern ='/[ก-๛]+/u';
- if(!preg_match($enpattern, $incoming_comment['comment_content'])) {
- err( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
- }
- if(preg_match($jpattern, $incoming_comment['comment_content'])){
- err( "日文滚粗!Japanese Get out!日本語出て行け!" );
- }
- if(preg_match($ruattern, $incoming_comment['comment_content'])){
- err( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
- }
- if(preg_match($krattern, $incoming_comment['comment_content'])){
- err( "思密达的世界你永远不懂!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!" );
- }
- if(preg_match($arattern, $incoming_comment['comment_content'])){
- err( "禁止使用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
- }
- if(preg_match($thattern, $incoming_comment['comment_content'])){
- err( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_all_post');
二、屏蔽纯英语评论
- // 禁止纯英文评论
- function ssdax_comment_post( $incoming_comment ) {
- $enpattern = '/[一-龥]/u';
- if(!preg_match($enpattern, $incoming_comment['comment_content'])) {
- err( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_post');
三、屏蔽纯日语评论
- // 禁止日文评论
- function ssdax_comment_jp_post( $incoming_comment ) {
- $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
- if(preg_match($jpattern, $incoming_comment['comment_content'])){
- err( "日文滚粗!Japanese Get out!日本語出て行け!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_jp_post');
四、屏蔽纯俄语评论
- //禁止北方野蛮人留言(俄语)
- function ssdax_comment_ru_post( $incoming_comment ) {
- $ruattern ='/[А-я]+/u';
- if(preg_match($ruattern, $incoming_comment['comment_content'])){
- err( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_ru_post');
五、屏蔽纯韩语/朝鲜语评论
- //禁止朝鲜半岛幸福人民留言(朝鲜语/韩语)
- function ssdax_comment_kr_post( $incoming_comment ) {
- $krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u';
- if(preg_match($krattern, $incoming_comment['comment_content'])){
- err( "思密达的世界你永远不懂!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_kr_post');
六、屏蔽纯阿拉伯语评论
- //禁止阿拉伯语评论(部分)
- function ssdax_comment_ar_post( $incoming_comment ) {
- $arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
- if(preg_match($arattern, $incoming_comment['comment_content'])){
- err( "禁止使用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_ar_post');
六、屏蔽纯阿拉伯语评论
- //禁止人妖部落留言(泰语)
- function ssdax_comment_th_post( $incoming_comment ) {
- $thattern ='/[ก-๛]+/u';
- if(preg_match($thattern, $incoming_comment['comment_content'])){
- err( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'ssdax_comment_th_post');
代码参考自麦田一根葱
2021 年 12 月 07 日 12:56 四川省成都市 6F
好东西感谢博主
2016 年 04 月 24 日 19:28 四川省成都市 5F
不知道是否好用
2016 年 03 月 26 日 12:43 四川省成都市 4F
不知道是否好用
2016 年 03 月 26 日 12:28 四川省成都市 3F
现在我的只是简单装了个Anti Spam,效果还可以
2013 年 09 月 04 日 22:55 云南省曲靖市 2F
学习下,现在我的只是简单装了个Anti Spam,效果还可以,以前的垃圾评论多了去了。
2013 年 09 月 09 日 11:16 开曼群岛 B1
@ 【AOE博客】阿零 我以前用AKismet一天大概几百条,后来加了个禁止英语的,每天大概有十几二十条的日语的,现在每周大概也就四五条了
2013 年 09 月 03 日 16:22 北京市 1F
很有才的垃圾屏蔽
2015 年 02 月 10 日 14:38 河南省焦作市 B1
@ 微历史 路过留名