首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >WordPress非插件纯代码实现彻底屏蔽站点垃圾评论

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

作者头像
沈唁
发布于 2018-05-24 16:48:41
发布于 2018-05-24 16:48:41
1.6K0
举报
文章被收录于专栏:沈唁志沈唁志

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

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

WordPress 讨论黑名单

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

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

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

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

代码语言:javascript
复制
//禁止全英文和日文评论
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');

单独屏蔽日语垃圾评论

代码语言:javascript
复制
//禁止屏蔽日语垃圾评论
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');

屏蔽俄语垃圾评论

代码语言:javascript
复制
//禁止屏蔽俄语垃圾评论
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');

屏蔽阿拉伯语垃圾评论

代码语言:javascript
复制
//禁止屏蔽阿拉伯语垃圾评论
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');

屏蔽泰语垃圾评论

代码语言:javascript
复制
//禁止屏蔽泰语垃圾评论
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');

我直接选择全部屏蔽!

代码语言:javascript
复制
//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非插件纯代码实现彻底屏蔽站点垃圾评论

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 屏蔽英文垃圾评论以及日语垃圾评论
  • 单独屏蔽日语垃圾评论
  • 屏蔽俄语垃圾评论
  • 屏蔽阿拉伯语垃圾评论
  • 屏蔽泰语垃圾评论
  • 我直接选择全部屏蔽!
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档