免插件多方位屏蔽WordPress垃圾评论

免插件多方位屏蔽WordPress垃圾评论,第1张

概述网站用心做了一段时间,浏览量慢慢的上去了,随之而来的就是删不完的垃圾评论,天天看到这些真是让人心烦,总想骂人。冷静下来想想还是想办法解决问题吧,于是找了度娘,发...

网站用心做了一段时间,浏览量慢慢的上去了,随之而来的就是删不完的垃圾评论,天天看到这些真是让人心烦,总想骂人。冷静下来想想还是想办法解决问题吧,于是找了度娘,发现了一篇文章感觉方法很全面,所以自己也就先试用了一下,发现确实有效,下面分享给大家,有需要的赶紧拿走用吧。禁止非法词汇评论提交到数据库的方法:1、将以下代码放到当前主题的functions.PHP文件最后一个?>的前面:@H_419_3@

//屏蔽关键词,email,url,ipfunction ShIEld_fuckspam($comment) { if (wp_blackList_check($comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'],$comment['comment_content'],$comment['comment_author_IP'],$comment['comment_agent'])) { header("Content-type: text/HTML; charset=utf-8"); err(__('不好意思,您的评论违反龙砚庭博客评论规则')); } else { return $comment; }}add_filter('preprocess_comment','ShIEld_fuckspam');@H_419_3@

2、在wordpress后台“设置” > “讨论” > 评论黑名单中添加相应的垃圾评论关键词即可。如在黑名单中添加“xyk”,那么当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字(如xyk)时,系统将会禁止提交到数据库。@H_419_3@

其他防wordpress垃圾评论的代码:接下来再分享几段实用的小代码,配合使用也是能够起到拦截垃圾评论的作用,以下代码同样扔到函数文件即可(如functions.PHP 我多实在的人啊,每次都要提醒是哪个常用的函数文件):@H_419_3@

1、过滤外文(如纯英文或日文)评论@H_419_3@

//屏蔽纯英文评论和纯日文function refused_english_comments($incoming_comment) { $pattern = '/[一-龥]/u'; // 禁止全英文评论 if(!preg_match($pattern,$incoming_comment['comment_content'])) { wp_dIE( "您的评论中必须包含汉字!" ); } $pattern = '/[あ-んア-ン]/u'; // 禁止日文评论 if(preg_match($pattern,$incoming_comment['comment_content'])) { wp_dIE( "评论禁止包含日文!" ); } return( $incoming_comment );}add_filter('preprocess_comment','refused_english_comments');@H_419_3@

2、屏蔽长连接评论@H_419_3@

function lang_url_spamcheck($approved,$commentdata) { return (strlen($commentdata['comment_author_url']) > 50) ? 'spam' : $approved;}add_filter('pre_comment_approved','lang_url_spamcheck',99,2);@H_419_3@

3、屏蔽昵称,评论内容带链接的评论@H_419_3@

function ShIEld_link($comment_data) { $links = '/http://|https://|www./u'; if (preg_match($links,$comment_data['comment_author']) || preg_match($links,$comment_data['comment_content'])) { err(__('别啊,昵称和评论里面添加链接会怀孕的哟!!')); } return ($comment_data);} add_filter('preprocess_comment','ShIEld_link');@H_419_3@

Ps:以上三段代码,最后两条选其一就行了,部分功能重复了,因为屏蔽了长链接自然也屏蔽了评论内容带链接的评论。@H_419_3@

4、限制评论最少字数和最多字数@H_419_3@

function limit_comment_length( $commentdata ) {@H_419_3@

$minCommentlength = 5; //最少字数限制@H_419_3@

$maxCommentlength = 200; //最多字数限制@H_419_3@

$pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 1个中文字符当作1个长度@H_419_3@

if ( $pointCommentlength < $minCommentlength )@H_419_3@

{@H_419_3@

header("Content-type: text/HTML; charset=utf-8");@H_419_3@

wp_dIE('抱歉,您的评论太短了,请至少输入' . $minCommentlength .'个字(已输入'. $pointCommentlength .'个字)');@H_419_3@

exit;@H_419_3@

}@H_419_3@

if ( $pointCommentlength > $maxCommentlength )@H_419_3@

{@H_419_3@

header("Content-type: text/HTML; charset=utf-8");@H_419_3@

wp_dIE('抱歉,您的评论太长了,请少于' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)');@H_419_3@

exit;@H_419_3@

}@H_419_3@

return $commentdata;@H_419_3@

}@H_419_3@

add_filter( 'preprocess_comment','limit_comment_length' );@H_419_3@

结合禁止非法词汇评论提交到数据库的代码和过滤外文(如纯英文或日文)评论的代码,一般情况下垃圾评论就基本没有了。当然,我们还需要持续不断地给评论黑名单中添加新内容,这样防御力度才会更加强悍。@H_419_3@ 总结

以上是内存溢出为你收集整理的免插件多方位屏蔽WordPress垃圾评论全部内容,希望文章能够帮你解决免插件多方位屏蔽WordPress垃圾评论所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/998209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存