不知道是从哪里来的垃圾评论,可能是谷歌来的吧,天天给我评论英文、俄文、乱七八糟的语言,本博客不但有邮件提醒还有Server 酱的提醒,到处都提醒,所以很烦的。今天我要干掉一部分垃圾评论
1. 在 WordPress 后台“设置” > “讨论” > 评论黑名单中添加相应的垃圾评论关键词即可。如在黑名单中添加“信用卡”,那么当评论的内容、评论者名称、URL、电子邮件或 IP 地址中包含其中任何关键字(如信用卡)时,系统将会禁止提交到数据库。
WordPress 讨论黑名单
但是即使这样 Server 酱依旧会给推送,不过站点评论已经在回收站里面了。
2. 直接代码处理,将以下代码放到当前主题的 functions.php 文件最后一个?>的前面
原代码中使用的 err 经过实测反馈,WordPress 中并没有 err 这个函数,我还是使用 wp_die 吧,如果你使用报错可以换回 err
//禁止全英文和日文评论
function syz_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
}
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_post');
//禁止屏蔽日语垃圾评论
function syz_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_jp_post');
//禁止屏蔽俄语垃圾评论
function syz_comment_ru_post( $incoming_comment ) {
$ruattern ='/[А-я]+/u';
if(preg_match($ruattern, $incoming_comment['comment_content'])){
wp_die( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_ru_post');
//禁止屏蔽阿拉伯语垃圾评论
function syz_comment_ar_post( $incoming_comment ) {
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
if(preg_match($arattern, $incoming_comment['comment_content'])){
wp_die( "不要用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_ar_post');
//禁止屏蔽泰语垃圾评论
function syz_comment_th_post( $incoming_comment ) {
$thattern ='/[ก-๛]+/u';
if(preg_match($thattern, $incoming_comment['comment_content'])){
wp_die( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_th_post');
//WordPress 站点纯代码屏蔽垃圾评论
function syz_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
$ruattern ='/[А-я]+/u';
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
$thattern ='/[ก-๛]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
if(preg_match($ruattern, $incoming_comment['comment_content'])){
wp_die( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
}
if(preg_match($arattern, $incoming_comment['comment_content'])){
wp_die( "不要用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
}
if(preg_match($thattern, $incoming_comment['comment_content'])){
wp_die( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
}
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'syz_comment_post');
3. 针对那些使用技术手段,比如 GET、POST 等方式不填写前台表单,直接读取后台程序文件的 spam,只有屏蔽 IP 才能缓解疯狗一样的攻势,其它什么验证码、滑动解锁等等都没用。
沈唁志|一个PHPer的成长之路!
原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:WordPress非插件纯代码实现彻底屏蔽站点垃圾评论