最近一段时间,博客上出现大量的垃圾评论,平均每天有2万左右,最多一次甚至有4万6千多条,着实让人有些心烦。
通过IP,发现绝大部分的垃圾评论都来自“福建省莆田市”。并且通过搜索,发现遇到此类的问题的人还不少,不只是博客,很多论坛也时有发生。
针对此,最简洁有效(傻瓜式)的办法,就是屏蔽该地区的IP,方法比较简单,就是有点繁琐。
修改Wordpress根目录下的.htaccess文件,并将需要屏蔽的IP地址或网段,按照以下格式填进去。
Order Deny,Allow deny from 27.153 deny from 27.153.128 deny from 27.153.128.128 Allow from All
说明:在Deny from后面写上你要屏蔽的IP地址。
例如:27.153代表27.153开始的所有网段,27.153.128同理。27.153.128.128,代表屏蔽某一个IP。当然,有条件的可以通过查询IP库,来判断是否是该地区的IP,从而阻止其评论。
另外,虽然屏蔽了很多来自莆田市的IP,但你会发现还有很多来自国外和其他地区的垃圾评论,虽然平时也有,只不过由于这次的事情,导致把这些垃圾评论也给“放大化”了。既然已经在处理,索性就更加彻底的巩固下。
打开主题模板中的function.php,将以下代码黏贴进去。
// 评论过滤: function scp_comment_post( $incoming_comment ) { $pattern = '/[一-龥]/u'; $pattern_japan ='/[あ-んア-ン]/u'; $pattern_link = '/http:\/\//is'; if( !preg_match($pattern, $incoming_comment['comment_content']) ){ wp_die( "Oops! You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience. 您的评论中必须包含汉字" ); }else if( preg_match($pattern_japan, $incoming_comment['comment_content']) ){ wp_die( "中国語を使用してください。不支持日文,并检查是否包含特殊字符。" ); }else if( preg_match_all($pattern_link, $incoming_comment['comment_content'] , $aa) >1) { wp_die( "评论中禁止出现2个及2个以上的网址或链接" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'scp_comment_post');
作用:
1. 禁止全英文评论,必须含有中文。
2. 禁止日文评论。
3. 禁止评论中出现2个或2个以上的链接。
至此,大部分的垃圾评论应该都能阻止了。
感谢您的阅读,本文由 蓝色梦想 版权所有。如若转载,请注明出处:蓝色梦想 - 阻止WordPress垃圾评论