正如上图,今天在外面练车的时候,手机一直叫,各种邮件提醒,给评论添加了邮件提醒,然后垃圾评论一来,跟短信轰炸一样,吓死宝宝了,于是回到家果断做下防范措施。
首先是给评论添加验证码
这里推荐两款插件,SI CAPTCHA Anti-Spam
和myQaptcha
这2款插件我都装了,SI CAPTCHA Anti-Spam
用在注册登录等其他地方,因为这个插件显示面积大,用在评论处很影响美观,我也懒得在去改,所以直接在装了myQaptcha
滑动解锁插件,用在评论处,效果可以查看我博客的评论处。
使用了验证码后,能有效的防范一些垃圾评论,但这并不够,还需要添加一些过滤。
对无汉字评论的过滤
这里推荐一款插件,Some Chinese Please
它可以有效地拦截内容中不带有中文字的comment和trackback(pingback),不写入数据库中,可有效地减小spam对blog服务器的无谓使用。虽然已经 2 年多没有更新,但还是可用的。
当然,能用代码解决的尽量还是用代码,有大牛翻过此插件的代码,然后给出了简约的代码实现效果。
//评论过滤 function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { err('写点汉字吧,博主外语很捉急!You should type some Chinese word!'); } if(preg_match($jpattern, $comment_data['comment_content'])){ err('日文滚粗!Japanese Get out!日本語出て行け! You should type some Chinese word!'); } return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments');
最好还是用wp_die函数,因为这个函数回导致博客主题的模板错位,所以我没有用,如果你的不会影响,可以使用wp_die函数:
//评论过滤 function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { wp_die('写点汉字吧,博主外语很捉急!You should type some Chinese word!'); } if(preg_match($jpattern, $comment_data['comment_content'])){ wp_die('日文滚粗!Japanese Get out!日本語出て行け! You should type some Chinese word!'); } return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments');
做了这2个防范措施后,至少能阻止大部分的垃圾评论,具体效果可以查看本博客。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !