Some Chinese Please!

Some Chinese Please!是冰古在2007年制作的一款防御Spam留言(包括trackback和pingback)的WordPress插件。新版本发布,就转移到“玩WordPress”这里来了。

工作原理

一般blog(特别是由WordPress等外国平台构建的blog)收到的Spam基本都是纯英文或其他外文语言构成的,而我们通常的文章都是用中文写作的,纯英文留言出现的机率是极低的。这时,限制留言内容必须带有中文字就是限制Spam留言的一个好办法。

Some Chinese Please!的作用就是在留言被保存到数据库之前,检查留言内容是否含有中文字。如果含有中文字,则顺利保存到数据库中;如果不含有中文字,则不保存到数据库中,并返回留言失败的原因。

优点与缺点

优点:

  1. Some Chinese Please!能很好地拦截Spam留言,而不会将之保存到数据库中,这样可以有效地减少数据库的操作,降低blog服务器的无谓使用。
  2. 留言时不必输入多余的验证码

缺点:

  1. 可能会拦截非中文用户的留言。(我还是觉得非中文用户要在一篇中文文章上留言时,看到给出的提示,都能运用复制粘贴跳过拦截)
  2. 会拦截一些爱现的童鞋的留言。(例如纯表情;中文没学好,只能用英文表达……)

安装步骤

  1. 下载Some Chinese Please!的最新版本,解压缩后得到`SomeChinesePlease`文件夹;
  2. 把`SomeChinesePlease`文件夹整个上传到WordPress的`/wp-content/plugins/`文件夹中;
  3. 登录到WordPress后台,跳转到插件管理器(Plugins)中,激活(Active)Some Chinese Please!即可使用。

更新日志

版本 1.0.1

  • 重新构建代码
  • 插件激活后,自动在留言框的下端添加需在留言内容中添加中文字才能通过Spam检测的提示
  • 在后台设置中添加SCP Setting设置子菜单,可以设置提示的内容和选择是否在留言框下端添加提示
  • 在插件管理器(Plugins)的Some Chinese Please!项中添加设置快捷链接

2009/06/24 托管于WordPress Plugins Extend
提示

在提示内容中,你可以添加部分HTML代码(例如strong,em,a,blockquote等)和内置的表情(例如::!:)。

48 Replies to “Some Chinese Please!”

  1. 是否能在 “NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!” 页面添加一个返回之前页的链接??

  2. 在设置页面上面会显示这个:array(3) { [“message”]=> string(116) “提示: 您的留言中必须含有中文字符 (比如:“你好”)才能通过垃圾评论的检测,谢谢!” [“show_message”]=> string(4) “show” [“login_user”]=> string(10) “unrequired” }
    不知道哪里的问题

    1. 抱歉抱歉,这个是我测试时留下的残留物,不会有什么影响。如果你需要删除它,可以打开“scp-admin.php”,然后找到“var_dump($scp_options);”,删除即可。

  3. 有个小问题:在禁用了评论的页面仍然会输出那段红字提示的 JS,在 IE 下会看到报错「’cf’ 是 null 或不是一個物件」。

  4. 刚用了1.0.6的这个插件发现两个问题
    1.启用该插件后不能用Ctrl+Enter发表评论了(Ctrl+Enter是主题自带的)
    2.如果关闭评论会报cf为null的错误
    现在我修改了这两个错,希望能更新上去,让所有人都能用上.哈哈

    仅仅修改scp_js就可以了
    现修改为:
    var cf = document.getElementById(“commentform”);
    if(cf != null){
    cf.insertAdjacentHTML(“afterBegin”, “{$options[‘message’]}”);
    }

  5. 发表评论的时候有有些东西没有提交上去,
    修改其实有两块
    1.判断cf是否存在
    2.用cf.insertAdjacentHTML 而不是 interHtml

    1. 謝謝你的修復,你可否重新發一次代碼呢?(在留言時,用<code>標籤可以避免代碼被wordpress過濾,或者直接用Email發也可以。)

  6. var cf = document.getElementById("commentform");
    if(cf){
    var html = "{$options['message']}";
    if(cf.insertAdjacentHTML){
    cf.insertAdjacentHTML("afterEnd", html);
    }else{/* FireFox */
    var range = cf.ownerDocument.createRange();
    range.setStartAfter(cf);
    var frag = range.createContextualFragment(html);
    cf.parentNode.insertBefore(frag, cf.nextSibling);
    }
    }

    昨天发的在FF上不能用,今天又改了下,兼容FF了

  7. 冰古哥..
    这果断是个好插件..
    不过.. 我发现, 作为管理员, 也被它给拦截了..
    估计是机制的原因吧, 应该不能达到无视管理员用纯英文装逼吧?

  8. Pingback: 求一个防垃圾评论的插件 - WordPress - 开发者
  9. Pingback: Wordpress最佳防英文垃圾评论插件 | 有野出没

Comments are closed.