V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vicalloy
V2EX  ›  问与答

WordPress 如何应对垃圾评论?

  •  
  •   vicalloy · 2014-08-16 23:52:22 +08:00 · 3926 次点击
    这是一个创建于 3751 天前的主题,其中的信息可能已经有所发展或是发生改变。
    WordPress的垃圾评论真是泛滥成灾,每天都有超多的垃圾评论。
    已经启用Akismet,垃圾评论基本上可以全部拦截掉。
    但问题是主机资源比较有限,不时会收到主机商发来的issue,提示MySQL由于处理时间太长被kill掉。
    各位是怎么处理垃圾评论的问题的?

    PS:
    估计很多朋友会建议换其他系统,这就不折腾了。用WordPress最大的好处就是省心。
    25 条回复    2014-11-25 23:52:19 +08:00
    Automan
        1
    Automan  
       2014-08-17 00:10:10 +08:00
    我用 disqus。。
    kmvan
        2
    kmvan  
       2014-08-17 00:14:09 +08:00 via Android
    一个验证码就ok了
    hjc4869
        3
    hjc4869  
       2014-08-17 00:42:05 +08:00
    SI CAPTCHA
    yylzcom
        4
    yylzcom  
       2014-08-17 01:05:36 +08:00 via Android
    我会建议你优化mysql或者换主机商
    Showfom
        5
    Showfom  
       2014-08-17 01:07:51 +08:00
    我直接用多说了。。
    Jat001
        6
    Jat001  
       2014-08-17 01:14:59 +08:00
    我以前写过一个很2的脚本…… https://gist.github.com/jat001/8639850
    kavinyao
        7
    kavinyao  
       2014-08-17 03:07:26 +08:00 via iPhone
    按照lz的情况还是升级VPS吧,没有两全其美的事情。
    seki
        8
    seki  
       2014-08-17 03:21:15 +08:00
    我自己在用 Stop Spammer Registrations Plugin 以及 Captcha 两个插件,没有用 Akismet。拦截率还行,很少有漏过去的。

    占用资源大不大倒是不清楚……蹭的别人的 VPS
    sandtears
        9
    sandtears  
       2014-08-17 03:24:40 +08:00
    硬件升级成本又不高,升级硬件呗。
    zjgood
        10
    zjgood  
       2014-08-17 07:55:14 +08:00 via Android
    @seki 楼主可能觉得akismet拦截太慢了吧,评论提交之后会卡住一会儿才显示。不知道V友你介绍的插件判断得快吗
    zjgood
        11
    zjgood  
       2014-08-17 07:56:16 +08:00 via Android
    @Showfom 多说太不稳定了吧。而且巨丑。但是disqus很多人又不会用。。。
    WildCat
        12
    WildCat  
       2014-08-17 08:00:37 +08:00 via iPhone
    @zjgood disqus有中文版,话说我认为不会用它的用户不是我的目标用户
    Pete
        13
    Pete  
       2014-08-17 08:05:54 +08:00
    不知道为啥我一直没有垃圾评论 没用插件
    先禁止纯英文评论 然后ajax发表
    然后就不知道为什么了。。
    zjgood
        14
    zjgood  
       2014-08-17 08:07:04 +08:00 via Android
    @Pete 直接禁止中文和日文。。。我试试还有垃圾评论不
    hsiayc
        15
    hsiayc  
       2014-08-17 08:15:03 +08:00 via iPhone
    Disqus在手机浏览器上显示失败,访客评论没有邮件通知,还是原生自带最好。
    jakehu
        16
    jakehu  
       2014-08-17 09:24:10 +08:00
    装个多说搞定
    xenme
        17
    xenme  
       2014-08-17 10:33:06 +08:00   ❤️ 3
    我以前每天要清理两次垃圾评论,现在基本没见过垃圾评论了:
    1. 禁用纯英文的回复,直接后台加个正则匹配就好,这样基本可以拦截大部分垃圾评论
    2. 后台设置过滤的关键词: http, www, .com, .net 类似
    这是最简单的,做了这两个之后,基本能拦住大部分关键字,但是还是有些机器人会直接 post 或者通过 ping back、trackback 来发送垃圾评论。
    然后我找到一个终极解决方法:
    把评论的提交的地址从wp-comments-post.php改成wp-comments-post2.php,然后在前台的评论表单上在输入评论的内容里面做 onfocus 事件,当 focus 后,把默认的post action 改成正确的就好了。机器人的话,基本都是直接提交到原来的地址,肯定没法提交。正常人,肯定要输入,那么一定会触发 onfocus,那么肯定可以正确提交。
    改完之后,加上 disable pingback/trackback,就再没有收到过垃圾评论。
    -------
    以上只能防机器人,要是有人专门搞你的站,那没办法。不过就我们这种访问量小的可怜的,估计没人闲得搞你。
    Mihuwa
        18
    Mihuwa  
       2014-08-17 10:48:36 +08:00
    官网上是这样做的,也能防暴力破解后台。当然针对的是采用POST提交的方式:

    # Stop spam attack logins and comments
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
    RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
    </ifModule>

    如果是Nginx使用一下:

    location ~* (wp-comments-posts|wp-login)\.php$ {
    if ($http_referer !~ ^(http://example.com) ) {
    return 405;
    }
    }

    记得把example换成自己的域名
    fox
        19
    fox  
       2014-08-17 11:24:42 +08:00
    用第三方评论系统,禁用系统评论。
    比如disqus和多说
    seki
        20
    seki  
       2014-08-17 12:23:24 +08:00
    @zjgood 没做过监控。我单纯就是觉得 Akismet 太麻烦才不用的
    Showfom
        21
    Showfom  
       2014-08-17 18:40:01 +08:00
    @zjgood 为毛我觉得多说比 Disqus 好看。。。。审美不一样么额
    fchypzero
        22
    fchypzero  
       2014-08-17 20:16:58 +08:00
    disqus
    nieccyyy
        23
    nieccyyy  
       2014-11-25 10:56:50 +08:00
    @Mihuwa 这个好像不错,已加上。
    Mihuwa
        24
    Mihuwa  
       2014-11-25 21:30:54 +08:00
    @nieccyyy 原本想回复你发的那个帖子的,隔一天就找不到了,我贴的这几段代码来自WP官网,我自己使用后效果良好,至少达到了我的目的:)
    nieccyyy
        25
    nieccyyy  
       2014-11-25 23:52:19 +08:00
    @Mihuwa 额,谢谢了。帖子还在 http://www.v2ex.com/t/148162 。另外推荐个V2EX搜索利器: http://shixiz.com
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2587 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.