当前位置:首页>WordPress>WordPress教程>WordPress博客拒绝黑名单中信息的评论发表

WordPress博客拒绝黑名单中信息的评论发表

wordpress的垃圾评论和广告很多,当我们遇到垃圾评论的时候,我们往往会把垃圾评论的相关信息添加在后台设置的黑名单添中,然而即使添加了黑名单,同样信息的垃圾评论再来的时候,wordpress还是能发表,只是被自动标记为垃圾评论了。这样来看垃圾评论还是会写入数据库,整个黑名单保护机制也不够完善。既然如此,那就直接拒绝符合黑名单中条件的评论发表, 不让评论写入数据库,闲鱼觉得是最好的。

WordPress博客拒绝黑名单中信息的评论发表

方法一

将以下代码加入到functions.php

function mac_fuckspam($comment) {
    if(  is_user_logged_in()){ return $comment;} //登录用户无压力...  
    if( wp_blacklist_check($comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] )){
        header("Content-type: text/html; charset=utf-8");
        exit('你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!');
    }  else  {
        return $comment;
    }
}
add_filter('preprocess_comment', 'mac_fuckspam');

方法二

将以下代码加入到comments-ajax.php中(比如检查评论太快那段函数后面)

if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content )&&!is_user_logged_in()){//登录用户还是无压力...
        err(__('你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!'));
    }

两种方法原理和优缺点对比:

  • 方法一:click submit→POST出去→收到拒绝信息 exit→return→ 会清空评论框内容并重置提交时间间隔 == submit了一次
    优点: 杀毒彻底
  • 方法二:click submit→POST被拒绝→return→ 会保留评论框内容 == 没有submit过
    优点:
    1. 评论者省时省力, 因为此类误判几率大, 省得好人们重新再评论一次了;
    2. 由于没有POST出去, 所以相对而言对数据库压力最小;

    缺点: 由于comments-ajax是从表单内直接提取$_POST的的字段,所以无法匹配IP和agent类黑名单

©版权声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员Ciyol 或给邮箱发送邮件 admin@ciyol.cn 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip(点击下载),zip、rar解压,建议下载WinRAR(点击下载)

给TA打赏
共{{data.count}}人
人已打赏
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
今日签到
有新私信 私信列表
搜索