最近博客被垃圾评论弄的很烦,有很多博友留言有时都一块删除了。垃圾留言无外乎英文和日文的居多。而Akmet不一定全都认识,所以,飘云决定减轻Akmet的负担,禁止全英文和日文留言。具体方法是在主题的function.php中添加以下代码:
禁止全英文和日文评论
// 禁止全英文和日文评论 function csspicker_comment_post( incoming_comment ) {pattern = '/[一-龥]/u'; jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(!preg_match(pattern, incoming_comment['comment_content'])) { err( "写点汉字吧,博主外语很捉急! Please write some chinese words!" ); } if(preg_match(jpattern, incoming_comment['comment_content'])){ err( "日文滚粗!Japanese Get out!日本語出て行け!" ); } return(incoming_comment ); } add_filter('preprocess_comment', 'csspicker_comment_post');
同理,禁止其他语言代码:
//禁止真主阿拉留言(阿拉伯语,部分) function csspicker_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', 'csspicker_comment_ar_post');
//禁止朝鲜半岛幸福人民留言(朝鲜语/韩语) function csspicker_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', 'csspicker_comment_kr_post');
//禁止人妖部落留言(泰语) function csspicker_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', 'csspicker_comment_th_post');
//禁止北方野蛮人留言(俄语) function csspicker_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', 'csspicker_comment_ru_post');
关于垃圾评论,使用WordPress的博主自然熟悉不过,所以也就诞生了很多防垃圾评论的插件,大篱也就在这样的潮流中从露兜博客诞生了,这是我写的第N个插件,也是功能最多最强大的一个,插件全名为WP anti spam dali
。大篱可谓是集大成者,用了大篱,其他垃圾评论拦截插件就可以删了(呵呵,大言不惭)。废话少说,先介绍一下大篱可以实现的功能吧:
插件功能
阻止自动发布的评论
只允许中文评论
限定评论字数
防范冒充博主评论
过滤评论中的链接
转义评论中的所有代码
关键字替换
以上所有功能均可在后台的插件选项中开启和关闭,真正实现了人性化的关怀。下面针对几个主要功能做一些简单的介绍:
阻止自动发布的评论
首先我们得了解那些垃圾留言程序是如何不通过人工来发布垃圾评论的,其实wp根目录下的wp-comments-post.php就是一个入口,垃圾留言程序首先自动构造评论内容,然后自动向wp-comments-post.php发送POST请求,传送垃圾评论,wp-comments-post.php接收了这些信息,这样一条垃圾评论就成功的发布到你的博客。
大篱阻止自动评论的原理就是在评论表单中插入一个隐藏域,这个隐藏域的值是动态生成的,只有实际通过人工访问博客文章页面才能获得,而且垃圾留言程序无法模拟,这样WordPress在接受评论之前,先检查这个隐藏域的值是否正确,以判断是否为自动发布的垃圾评论。在通常情况下,阻止自动评论的方式是验证码,但是验证码对用户体验不佳,大篱正好解决了这样的问题。
只允许中文评论
在WordPress blog系统下,有90%+的Spam是由英文字母和拉丁字母组成的,中文博客如果只允许含有中文评论,那么也就阻止了90%+的Spam。此功能是模仿了Some Chinese Please插件来实现的
限定评论字数
排除了计算机程序自动发布的评论,那么剩下的评论都是人发的了,那么人发的评论就不是垃圾评论吗?那也未必,有些人是故意发几个字的灌水内容,或者复制大量内容发布评论,填满你的数据库。最好的做法是限制评论字数。
防范冒充博主评论
如果别人知道了你的昵称和Email,在WordPress中就可以轻松地冒充你进行评论,这样很不好,弄不好会对你的个人和博客名誉造成重大影响。
关键字替换
如果你的网站是搭建在国内的主机上,那么你得注意一下你的网站内容了,必须接受国内机构的监管,如果你的网站如果出现了某某非法关键字,那么你的网站可能很快就要被关停了。评论是一个相对自由的地方,你可能很难监管到,所以你可以将一些非法、不雅、谩骂的关键字给替换掉,这样既可以继续开启评论功能,又可以消除影响。
*使用方法*
下载插件压缩包,解压后,把 wp-anti-spam-dali 文件夹上传到你的WordPress博客的 /wp-content/plugins/ 文件夹下,最后在后台激活即可使用。在后台 – 设置 – 大篱评论过滤,可以设置插件选项,开启关闭一些功能。
WordPress评论过滤插件下载地址:http://wordpress.org/extend/plugins/wp-anti-spamdali/
其实,上面只是方法,最好的识别垃圾留言的东西还是人。飘云一开始就是太依赖akimet了。抵制垃圾留言从我做起哦!!