纯代码实现彻底屏蔽WordPress站点垃圾评论(WordPress禁止评论中带HTML链接代码)
纯代码实现彻底屏蔽WordPress站点垃圾评论
相信很多人都意识到:独立博客经营到一段时间,pv等流量是上去了,但接踵而来的是无休止的垃圾评论。垃圾评论也就算了,居然还不访问我们的网站直接用脚本刷,连个pv值都不贡献下,太抠啦,不走心,差评。辣么,分享个教程呗,只要入了我们后台评论黑名单的关键词、email、url、ip,统统将他们一网拦截在前端门外。
禁止非法词汇评论提交到数据库的方法:
1、将以下代码放到当前主题的functions.php文件最后一个?>的前面:
-
//屏蔽关键词,email,url,ip
-
function 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\');
2、在WordPress后台“设置” > “讨论” > 评论黑名单中添加相应的垃圾评论关键词即可。如在黑名单中添加“信用卡”,那么当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字(如信用卡)时,系统将会禁止提交到数据库。
如此,我们至少可以舒心很多啦,因为很多垃圾评论的人大多不走心,如果他们走心了,花点心思来诚心评论,不正说明了我们的代码起作用啦!
其他防WordPress垃圾评论的代码:
接下来再分享几段实用的小代码,配合使用也是能够起到拦截垃圾评论的作用,以下代码同样扔到函数文件即可(如functions.php 我多实在的人啊,每次都要提醒是哪个常用的函数文件):
1、过滤外文(如纯英文或日文)评论
-
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\');
2、屏蔽长连接评论
-
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);
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\');
Ps:以上三段代码,最后两条选其一就行了,部分功能重复了,因为屏蔽了长链接自然也屏蔽了评论内容带链接的评论。
4、限制评论最少字数和最多字数
-
function limit_comment_length( $commentdata ) {
-
$minCommentlength = 5; //最少字数限制
-
$maxCommentlength = 200; //最多字数限制
-
$pointCommentlength = mb_strlen($commentdata[\'comment_content\'],\'UTF8\'); //mb_strlen 1个中文字符当作1个长度
-
if ( $pointCommentlength < $minCommentlength )
-
{
-
header(\"Content-type: text/html; charset=utf-8\");
-
wp_die(\'抱歉,您的评论太短了,请至少输入\' . $minCommentlength .\'个字(已输入\'. $pointCommentlength .\'个字)\');
-
exit;
-
}
-
if ( $pointCommentlength > $maxCommentlength )
-
{
-
header(\"Content-type: text/html; charset=utf-8\");
-
wp_die(\'抱歉,您的评论太长了,请少于\' . $maxCommentlength .\'个字(已输入\'. $pointCommentlength .\'个字)\');
-
exit;
-
}
-
return $commentdata;
-
}
-
add_filter( \'preprocess_comment\', \'limit_comment_length\' );
限制字数代码来自:欲思博客
总结:
唉,垃圾评论这种东西是杜绝不了的,只能适当防御。以上的代码是我最喜欢的几段代码之一,因为早上古今兄在群里提及垃圾评论的对付方法,所以我就分享一下教程,毕竟好的代码要广而告之,只有这样才会有更好、更实用的代码诞生。
WordPress要多折腾才会好玩,这样能够保持我们的激情!
测试结果:
经过boke112测试,结合禁止非法词汇评论提交到数据库的代码和过滤外文(如纯英文或日文)评论的代码,本站已基本上没有了垃圾评论,平时每天的评论回收站都能收到很多垃圾评论,现在都为0了。
所以说,只需将本文的代码添加到WordPress站点的functions.php文件中,基本上能够屏蔽绝大部分垃圾评论,这样我们就可以放心停用那些评论验证码之类的插件了。当然,我们还需要持续不断地给评论黑名单中添加新内容,这样防御力度才会更加强悍。
本文为投稿文章,感谢 龙砚庭博客 的投稿,版权归原作者所有
WordPress禁止评论中带HTML链接代码
WordPress网站的垃圾评论历来都无穷多,而垃圾评论几乎全部都是为了留个外链。都是SEO对外链如此重视的恶果。为了有效阻挡垃圾评论,不给spam任何可乘之机,我们有必要对评论做一些限制。通过禁止发布带链接代码的评论可以有效阻挡90%以上的垃圾评论。本文将介绍一种可以禁止评论中带HTML链接代码的方法。
1 2 3 4 5 6 7 8 9 10 11 12 |
/* 禁止评论中带超链代码 代码来源: www.wpzxbj.com */ function wpzn_comment_post( $incoming_comment ) { $http = \'/[href=\"|]/u\'; if(preg_match($http, $incoming_comment[\'comment_content\'])) { wp_die( \"禁止发布带链接的评论!\" ); } return( $incoming_comment ); } add_filter(\'preprocess_comment\', \'wpzn_comment_post\'); |
代码说明:将以上代码插入主题function.php保存即可。当spam发布带”href=”或”“代码的时候就会自动禁止评论提交并提示。不建议添加”http://”,因为不让发文本链接也是不合理的。以上这段代码不仅可以用于禁止发布带链接的评论,还可以用于禁止发布带其它html代码的评论。所以,禁止发布项还可以根据自己的需要增加,比如禁止发带图片的评论,可以加上img代码。
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 纯代码实现彻底屏蔽WordPress站点垃圾评论(WordPress禁止评论中带HTML链接代码)