WordPress非插件纯代码实现彻底屏蔽站点垃圾评论

前端之家收集整理的这篇文章主要介绍了WordPress非插件纯代码实现彻底屏蔽站点垃圾评论前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不知道是从哪里来的垃圾评论,可能是谷歌来的吧,天天给我评论英文、俄文、乱七八糟的语言,本博客不但有邮件提醒还有Server 酱的提醒,到处都提醒,所以很烦的。今天我要干掉一部分垃圾评论

1.  在wordpress后台“设置” > “讨论” > 评论黑名单中添加相应的垃圾评论关键词即可。如在黑名单中添加“信用卡”,那么当评论内容评论名称、URL、电子邮件或IP地址中包含其中任何关键字(如信用卡)时,系统将会禁止提交到数据库

WordPress讨论黑名单

wordpress讨论黑名单

但是即使这样Server酱依旧会给推送,不过站点评论已经在回收站里面了。

2. 直接代码处理,将以下代码放到当前主题的functions.PHP文件最后一个?>的前面

代码中使用的 err 经过实测反馈,wordpress中并没有err这个函数,我还是使用wp_die吧,如果你使用报错可以换回err

屏蔽英文垃圾评论以及日语垃圾评论

PHP">//禁止全英文和日文评论
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');@H_502_25@

单独屏蔽日语垃圾评论

PHP">//禁止屏蔽日语垃圾评论
function syz_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern,'syz_comment_jp_post');@H_502_25@

屏蔽俄语垃圾评论

PHP">//禁止屏蔽俄语垃圾评论
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');
@H_502_25@

屏蔽阿拉伯语垃圾评论

PHP">//禁止屏蔽阿拉伯语垃圾评论
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');
@H_502_25@

屏蔽泰语垃圾评论

PHP">//禁止屏蔽泰语垃圾评论
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');
@H_502_25@

我直接选择全部屏蔽

PHP">//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,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');
@H_502_25@

3. 针对那些使用技术手段,比如GET、POST等方式不填写前台表单,直接读取后台程序文件的spam,只有屏蔽IP才能缓解疯狗一样的攻势,其它什么验证码、滑动解锁等等都没用。

原文链接:https://www.f2er.com/wordpress/67696.html

猜你在找的wordpress相关文章