浅谈 WordPress 垃圾评论

WordPress 的垃圾评论可能对于所有的用户来说都是个问题,系统的普及性导致了垃圾评论工具也愿意去针对 wp 进行一系列的开发。对于评论发送者来说在目标足够多的情况下,成本是足够低廉的。

当然,使用 wp 系统的应该也都安装了一系列的插件来阻挡垃圾评论,例如akismet,能够过滤识别大多数的垃圾评论,一年的统计数据已经有 1.5 万多条数据:

这还是期间改过一些平路提交的限制代码,限制了评论长度。有段时间发布的垃圾评论,一条评论包含了几百个网站链接,每天有数十条。后来通过代码 hook 限制了评论长度之后,这些垃圾评论少了很多。

现在又呈现出另外一种趋势,那就是评论长度短了,但是每条评论都带评论地址。所以在这个基础之上,继续完善了一下评论规则,如果是非中文评论,带链接 url,直接禁止此类评论。之所以保留了英文评论是因为偶尔有那么几个所谓的外国人会发一些英文评论,当时也有可能是假洋鬼子。这个不好说。

不过让人比较方案的是,有一部分分享内容设置了回复可见,于是就 tm 有些傻吊发些无意义的英文字符,看到这种垃圾评论一律直接删除,没有意外。连基本的尊重都没有,都 tm 白嫖 嫖习惯了这是。

调整之后的代码,添加到 functions.php 中:

/*
 * WordPress控制文章评论最少字数
 */
function custom_comment_length( $commentdata ) {
    $max_length = 800;
    // 设置最大字数限制
    if ( mb_strlen( $commentdata['comment_content'] ) > $max_length ) {
        wp_die( '额,你评论的内容太多啦,最多可以输入800个字,不要再评论区写论文啊!' ,'宝贝,出错了哦 - obaby@mars', array( 'back_link'=>true ) );
    }
    if ( ! is_admin() ) {
        $comment_content = $commentdata['comment_content'];
        if ( preg_match( '/[\x{4e00}-\x{9fa5}]/u', $comment_content ) === 0) {
            if (strpos($commentdata['comment_author_url'],'http')!==false || strpos($comment_content,'http')!==false){
                wp_die( '不要乱发哦,让姐姐我不开心就不好了嘛!','姐姐我不开心啦! - obaby@mars', array( 'back_link'=>true ) );
            }
        }
    }
    return $commentdata;
}

add_filter( 'preprocess_comment', 'custom_comment_length' );

当然,针对不能出现的关键字可以直接在 wp 的后台讨论中设置:

上面的关键字都是专门针对前端时间跑到别人博客到处骂人的那个傻吊设置的。

实际屏蔽效果:

希望没有误伤,嘻嘻

 

☆版权☆

* 网站名称:obaby@mars
* 网址:https://nai.dog/
* 个性:https://oba.by/
* 本文标题: 《浅谈 WordPress 垃圾评论》
* 本文链接:https://nai.dog/2024/04/16236
* 短链接:https://oba.by/?p=16236
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

57 comments

  1. Level 1
    Microsoft Edge 123 Microsoft Edge 123 Android 10 Android 10 cn陕西省 移动/全省通用

    有一段时间垃圾评论真的很多 我也加了屏蔽代码依然有 偶尔登录一下后台 删除一下

  2. Level 4
    Google Chrome 123 Google Chrome 123 Mac OS X 10.15 Mac OS X 10.15 cn广东省清远市 电信

    WordPress太多人用了,每个Wordpress用户都必须面对的一个难题。

  3. Level 4
    Microsoft Edge 123 Microsoft Edge 123 Windows 11 Windows 11 cn江苏省扬州市 电信

    玩WP的人首要解决的一个问题,虽然是老生常谈,但是还必须要经常地谈。

  4.   Level 6
    Safari 17 Safari 17 iPhone iOS 17.4.1 iPhone iOS 17.4.1 cn浙江省杭州市 电信

    我没有用反垃圾程序,是因为不想发生“24口交换机”的笑话。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

      这个是什么笑话啊?我怎么没听过呢?
      谁 口交 了谁? rofl

      1.   Level 6
        Safari 17 Safari 17 iPhone iOS 17.4.1 iPhone iOS 17.4.1 cn浙江省杭州市 电信

        你不知道这个笑话?因为敏感词,“24口交换机”被换成“24嘴交换机”

  5.   Level 3
    Google Chrome 122 Google Chrome 122 Windows 11 Windows 11 cn江西省 移动/数据上网公共出口

    辣鸡评论倒没有,有些脸滚键盘的回复让我挺头大的

  6.  Level 4
    Google Chrome 121 Google Chrome 121 Android 10 Android 10 cnAsia/Shanghai

    第一个关键词可太熟悉了,之前看他在各个博客里面说脏话

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

      问题是那个傻狗还跑到别人的博客去骂我,真tmd神了

  7.  Level 5
    Firefox 124 Firefox 124 Windows 10 Windows 10 cn云南省丽江市 电信

    圈子太大了你,经常都能再各大博客看到你,树大招风,有些人拿你博客练手了估计,我的站就没人来乱评现在,刚开始乱七八糟的都有,现在别说乱发的想互动交流的看看那我那复杂的流程分分钟跑路了哈

  8. Level 5
    Firefox 124 Firefox 124 Windows 10 Windows 10 cnAsia/Shanghai

    之前一直在用滑动解锁验证,感觉还是不错的。
    当然不用验证就能评论最方便了,wp官方的akismet效果还是不错的。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

      嗯嗯,是的,识别率蛮不错的。我现在是想彻底屏蔽掉那些,不然每天都有数十条,删除起来都恶心

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

      网站带宽就是我家用宽带的上传速度,哈哈哈。
      speedtest

        1. 公主 Queen 
          Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

          用国内的cdn还是需要备案的,如果用国外的就不需要备案了。

        1. 公主 Queen 
          Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市胶州市 联通

          嗯嗯,家里nas的影片从任何地方播放基本都毫无压力。不过做食品展就算啦。嘻嘻

  9.  Level 1
    Google Chrome 123 Google Chrome 123 Windows 11 Windows 11 cn上海市闵行区 电信

    WP系统机器人发布的垃圾评论太多了,防不胜防,加些限制可以屏蔽大部分,这样就清爽不少。

  10. Level 3
    Safari 17 Safari 17 iPhone iOS 17.3.1 iPhone iOS 17.3.1 cnAsia/Shanghai

    我好像好久没收到垃圾评论了,还是被清理了,不知道,反正没见过了

  11. Level 2
    Microsoft Edge 123 Microsoft Edge 123 Windows 11 Windows 11 cn浙江省温州市 电信

    之前有过一些英文垃圾评论,直接弄个中文检测搞定,iis好难用,高并发一塌糊涂,同主机内的alist并发简直不要太好

  12.  Level 2
    Microsoft Edge 123 Microsoft Edge 123 Windows 11 Windows 11 cn江苏省苏州市 联通

    我的Akismet过滤效果还好,之前记得有个专门过滤无中文的插件,更强一些,大部分垃圾评论都是英文的。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      嗯嗯,现在也有一些插件,但是不想装了。所以就自己撸代码了

  13. Level 4
    Safari 16 Safari 16 Mac OS X 10.15 Mac OS X 10.15 cn广东省东莞市 电信

    我博客从开站到现在07-15,23-24,akismet统计显示已经有20多万条了垃圾评论。。。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      是的,这个东西还是蛮好用的,我这里一共过滤了475,768条了。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      额,服务停了。哈哈哈。迁移系统的时候把这个服务给忘了

  14. Level 3
    Microsoft Edge 124 Microsoft Edge 124 Windows 10 Windows 10 us加拿大

    没有误伤。我的经验是,用ajax评论代替原生评论,可以屏蔽大部分机器人,剩下的用关键字。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注