少女祈禱中...
Loading...

ccloli

Loading...

与垃圾评论的斗争

这是一个系列文章,接下来你可能会看见诸如《与Chrome GPU加速的斗争》《与YU-RIS的斗争》《与作业的斗争》《与开学的斗争》《与老师的斗争》《与学校的斗争》《与政府的斗争》等文章。

垃圾评论截图,垃圾评论起始于2013年01月26日

垃圾评论截图,垃圾评论起始于2013年01月26日

从上个月开始,博客就收到了大量的垃圾评论,而且有逐渐频繁的趋势,1月28日就有6条这样的垃圾评论。忍无可忍,看到发信ip都是127.7.67.129,于是调用WordPress的黑名单功能,将127.7.67.129加入了黑名单。

不过没过多久,琥珀酱便给我发送私信称她(他?她?不要在意这些细节ww)的评论没有显示。查看了一下评论页,发现所有人的评论都进了垃圾评论。原来从前几天开始所有人在评论页显示的ip都变成了127.7.67.129(与MySQL服务器相同,琥珀酱说应该是服务器做了反向代理),以至于无论是谁的评论都会被扔进垃圾评论。不得已,只能先暂时将这个ip移除黑名单了。

不过也总不能这么放任不管吧,虽然这些文章大多以数字结尾(查了一下WordPress的文档,原来数字结尾的文章可能会被Google等认为是新闻页面),而且文章大多很老,不过看着也确实挺烦。于是百度+Google了一下,找到了一款不错的插件WP anti spam dali,启用后设置只允许中文评论。效果也确实不错,那几天垃圾评论都乖乖地进了垃圾箱,而正常的评论也大都正常显示(除非是老外发的,不过老外怎么会光顾我这种“五谷轮回之所”呢/ \)。

大篱评论过滤设置界面(部分)

大篱评论过滤设置界面(部分)

最近几天垃圾评论又来了,原来机器人也变精了,在垃圾评论中加入了各种国家的语言……OTL

含各国语言的评论……哈?发信人一样?不要在意这些细节啦(σ^▽^ )^▽^)σ

含各国语言的评论……哈?发信人一样?不要在意这些细节啦(σ^▽^ )^▽^)σ

不得已,只能加手动验证码了……由于各种插件效果不太理想,所以Google了一下方法(不用百度?你懂的),找到了这篇文章《簡單在WordPress留言加上驗證碼功能》,不过仔细看了一下Pixiv Custom的源码并没有找到提交按钮。所以,借助一下这篇文章,自己写了一个固定验证码(固定是因为验证码就是ccloli而不是随机的而且还需要区分大小写/ \咱水平有限……)

在主题的模板函数中添加了如下代码:

  1. // pixiv-custom/functions.php
  2. …………
  3. function pixiv_cmn_checkbox() {
  4. $label = __('当有人回复时向我发送电子邮件','pixiv');
  5.         echo '<div id="comment_notify_checkbox"><label for="are_you_ad_robot">验证码:ccloli</label><input type="text" name="are_you_ad_robot" id="are_you_ad_robot" style="width:50px;background:rgba(255,255,255,.5);display:inline;padding-right:10px"><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked"/><label for="comment_mail_notify">'.$label.'</label></div>';
  6. }
  7. …………


在评论提交页wp-comments-post.php添加了如下代码:

  1. // wp-comments-post.php
  2. …………
  3. if ( !$user->ID ) {
  4.         $aaarb = trim($_POST['are_you_ad_robot']);
  5.         if ( $aaarb != 'ccloli' )
  6.         wp_die( __('<strong>错误</strong>: 请输入正确的验证码.') );
  7. }
  8. if ( '' == $comment_content )
  9. …………


测试了一下,貌似效果不错。算了先暂时这样吧,等不行了再说/ \

演示

演示

突然发现爪机党无法发表评论/ \只能先停用了……设置只有PC党要输入验证码/ \

Comments

  1. 你可以试试看用算术验证码的说(都说了多少次我是♂的

    Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 Windows 7
    • 不要在意这些细节=w=
      在想可不可以用遍历数据库的方法,但不知道怎么操作。

      Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 x64 Edition Windows 7 x64 Edition
      • 遍历数据库??不明觉厉

        Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 Windows 7
        • 查收一下你的电子邮件

          Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 x64 Edition Windows 7 x64 Edition
  2. 我用的是关键字屏蔽~
    效果还行

    Google Chrome 25.0.1364.84 Google Chrome 25.0.1364.84 GNU/Linux x64 GNU/Linux x64
    • 关键字屏蔽吗/ \找不到共通点啊,而且貌似每天都有新的……我在想是不是该试试CloudFlare的VPN加速附带的防垃圾评论功能【喂

      Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 x64 Edition Windows 7 x64 Edition
      • 比如”href”能屏蔽超链接什么的
        还有什么sale nike cheap之类的
        话说akismet不能用么?

        Google Chrome 25.0.1364.84 Google Chrome 25.0.1364.84 GNU/Linux x64 GNU/Linux x64
          • @_@我的akismet正确率在99%
            到底是注册麻烦还是折腾麻烦

            Google Chrome 25.0.1364.84 Google Chrome 25.0.1364.84 GNU/Linux x64 GNU/Linux x64
            • 能用最简单的方法就不用插件【喂用插件不就是最简单的方法吗

              Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 x64 Edition Windows 7 x64 Edition
  3. Pingback[野生技术]已审核的评论不显示验证码(beta) | 千与琥珀的河川

  4. 这几天咱的博客也有不少这样的垃圾评论,然后下了个AntiSpam for Typecho,世界立马安静了。

    Firefox 20.0 Firefox 20.0 Mac OS X  10.7 Mac OS X 10.7
    • 貌似现在加了验证码效果不错,后台也没有新的垃圾评论(除了你这条otl),虽然貌似评论变麻烦了/ \

      Google Chrome 25.0.1364.97 Google Chrome 25.0.1364.97 Windows 7 x64 Edition Windows 7 x64 Edition
  5. Pingback日常Ⅱ(3) | 千与琥珀的河川

  6. 建议还是写插件,要不然哪天WP一更新就失效了。

    Google Chrome 27.0.1425.0 Google Chrome 27.0.1425.0 GNU/Linux x64 GNU/Linux x64
    • 不会写插件/ \如果失效了也没关系,还有其他的方法

      Google Chrome 24.0.1312.57 Google Chrome 24.0.1312.57 Windows 7 x64 Edition Windows 7 x64 Edition

BoldItalicDeleteLinkBlockquoteImageCode

Back to top