当前位置:网站首页 > 更多 > 网文网语 > 正文

[精彩网文] 屏蔽无中文的评论,有效避免垃圾评论

作者:CC下载站 日期:2020-11-14 17:47:27 浏览:76 分类:网文网语

wordpress博客网站一直倍受垃圾评论侵扰,而且基本上都是英文和网址,真的是让人不胜其烦!每个站长都会为自己的网站搭配自己喜欢的垃圾评论拦截的方案。

如:wordpress插件,Some Chinese Please插件就可以拦截不带中文字的评论,用起来很不错,而且不写入数据库,可以有效地减少spam对服务器的额外负担,其实我们完全没有必要使用插件,直接使用代码就可以实现。

ps:过多的插件也会造成wordpress的运行缓慢。

将下面代码加到主题functions.php模板文件中,效果与使用插件相同。

/* 评论必须包含中文 拦截spam */ 
function refused_spam_comments( $comment_data ) { 
$pattern = '/[一-龥]/u'; 
if(!preg_match($pattern,$comment_data['comment_content'])) { 
err('评论必须包含中文,谢绝英文垃圾留言。'); 
} 
return( $comment_data ); 
} 
add_filter('preprocess_comment','refused_spam_comments'); 

最终效果就是,如果评论中不包含中文就会有错误提示。

其它一些使用过程会写入数据库的防spam插件不建议使用, 比如WordPress官方的防垃圾插件Akismet会在数据库中留下大量的信息,增加服务器负担,开启后会明显感觉到网站速度变慢。

还有就是那些使用技术手段,比如GET、POST等方式直接评论而不经过前台表单的垃圾评论我们就无能为力了,其它什么验证码、滑动解锁等等面对这些技术手段全部无用,只有屏蔽IP才能解决这个问题。

要屏蔽IP可以,在网站根目录下的.htaccess文件中添加:

1.Order Deny,Allow 
2.Deny from xxx.xxx.xxx.xx 

禁止某些IP访问,也可以达到屏蔽垃圾评论的目的。不过效果不明显,我们禁用的ip只能是常见的ip,一些陌生的,这个方法还是无能为力。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯