首页 » 网站建设 »

过滤含URL信息的垃圾评论

2017年2月24日 / 42次阅读
WordPress

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

特色图片

虽然使用了Akismet插件来过滤垃圾评论,但是还是有一个问题存在:Akismet在过滤垃圾评论的时候,有大量的数据库操作,如果有大量垃圾评论进来,甚至是垃圾评论攻击,这个时候网站会有大量数据库操作,拖慢网站速度不说,甚至还会出现在那一段时间内,写数据库失败。本小站就常常出现这样的情况,当有大量垃圾评论进来的时候,发布文章失败,甚至网站页面都打不开。

学习了网络上大牛的经验,有一个方法,可以适当的阻挡一些垃圾评论对读写数据库造成的影响。这个方法就是,通过代码的方式,对评论内容进行一些过滤,比如评论内容必须要含有中文,比如评论内容里面不能含有URL等。麦新杰采用了评论中不含URL的方式,因为我发现大量垃圾评论都是为了做广告,内容部分含有大量URL信息,把这些在操作数据之前过滤掉,会减轻网站服务器的压力。

代码如下,将其放入functions.php内:

/* 禁止评论中<a 随便 href=" 或者rel="nofollow"或者http:// */
function mt_comment_post( $incoming_comment ) {  
    $http = '/href="|rel="nofollow"|http:\/\/|<\/a>/'; 
    if(preg_match($http, $incoming_comment['comment_content'])) { 
        wp_die( "评论内容不能含有链接..." );  
    }  
    return( $incoming_comment );  
}  
add_filter('preprocess_comment', 'mt_comment_post');

可以看出,上面的正则表达式的匹配并不全面,如果放入www.maixj.net这样的文字链,这段代码就无能为力。

这时,如果对应的垃圾评论进来,评论之后,看到的就是如下效果:

过滤含URL信息的垃圾评论

过滤含URL信息的垃圾评论

暂时就先这样吧。更多的过滤垃圾评论的方式,还可以参考:https://www.wpdaxue.com/wordpress-refused-spam.html这篇文章的分享。

本文链接:http://www.maixj.net/wz/url-laji-pinglun-14543
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

《过滤含URL信息的垃圾评论》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目

AD

ppdai

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top