Some Chinese Please!是冰古在2007年制作的一款防御Spam留言(包括trackback和pingback)的WordPress插件。新版本发布,就转移到“玩WordPress”这里来了。
工作原理
一般blog(特别是由WordPress等外国平台构建的blog)收到的Spam基本都是纯英文或其他外文语言构成的,而我们通常的文章都是用中文写作的,纯英文留言出现的机率是极低的。这时,限制留言内容必须带有中文字就是限制Spam留言的一个好办法。
Some Chinese Please!的作用就是在留言被保存到数据库之前,检查留言内容是否含有中文字。如果含有中文字,则顺利保存到数据库中;如果不含有中文字,则不保存到数据库中,并返回留言失败的原因。
优点与缺点
优点:
- Some Chinese Please!能很好地拦截Spam留言,而不会将之保存到数据库中,这样可以有效地减少数据库的操作,降低blog服务器的无谓使用。
- 留言时不必输入多余的验证码
缺点:
- 可能会拦截非中文用户的留言。(我还是觉得非中文用户要在一篇中文文章上留言时,看到给出的提示,都能运用复制粘贴跳过拦截)
- 会拦截一些爱现的童鞋的留言。(例如纯表情;中文没学好,只能用英文表达……)
安装步骤
- 下载Some Chinese Please!的最新版本,解压缩后得到`SomeChinesePlease`文件夹;
- 把`SomeChinesePlease`文件夹整个上传到WordPress的`/wp-content/plugins/`文件夹中;
- 登录到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等)和内置的表情(例如::!:)。
[...] 新版本发布在玩WordPress上了,跳转到Some Chinese Please!新版本 [...]
ooxx.com test
[...] 4.Some Chinese Please!(作者为 冰古 | 访问插件主页) [...]
可以支持下W3C标准吗?
1.0.3已经可以通过W3C验证了。
1.0.2说代替了jQuery,但是为什么使用后还是会调用jQuery库?
代码理还是有 wp_enqueue_script(‘jquery’);
因为改的比较匆忙,所以忘了删除那句了,删除掉就行了。
有个脚本错误提示。
Line:429
Char:5
Code:0
Error:’cf’ 为空或不是对象
网址:http://bingu.net/
这个插件非常棒,小插件解决了大问题。。。谢谢。。
是否能在 “NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!” 页面添加一个返回之前页的链接??
在设置页面上面会显示这个:array(3) { ["message"]=> string(116) “提示: 您的留言中必须含有中文字符 (比如:“你好”)才能通过垃圾评论的检测,谢谢!” ["show_message"]=> string(4) “show” ["login_user"]=> string(10) “unrequired” }
不知道哪里的问题
抱歉抱歉,这个是我测试时留下的残留物,不会有什么影响。如果你需要删除它,可以打开“scp-admin.php”,然后找到“var_dump($scp_options);”,删除即可。
1.0.5 版在输入纯英文后显示的提示语出现乱码,如何解决?
在你这测试了一下,同样的乱码
1.0.6解决了这个问题。
作者的效率果然很高,支持了。
你原来不是有一个博客吗?莫非换了?
呵呵,谢谢支持。
是啊,还有另一个blog:冰古blog,“狡兔三窟”嘛。:)
有个小问题:在禁用了评论的页面仍然会输出那段红字提示的 JS,在 IE 下会看到报错「’cf’ 是 null 或不是一個物件」。
嗯,这个我留意到了,暂时还没找到解决的办法。看看下次更新能不能解决吧。谢谢你的支持。
[...] // var searchbox = document.getElementById("searchbox"); var searchtxt = document.getElementById("searchtxt"); var tiptext = "请输入关键字…"; if(searchtxt.value == "" || searchtxt.value == tiptext) { searchtxt.className += " searchtip"; searchtxt.value = tiptext; } searchtxt.onfocus = function(e) { if(searchtxt.value == tiptext) { searchtxt.value = ""; searchtxt.className = searchtxt.className.replace(" searchtip", ""); } } searchtxt.onblur = function(e) { if(searchtxt.value == "") { searchtxt.className += " searchtip"; searchtxt.value = tiptext; } } // 首页两性学堂男女学堂男人学堂女人学堂语录文化成长故事笑话美味厨房营养饮食基础知识原料选购美食亲手做便利生活事务管理生活小窍门信用卡公交一卡通网站设计DIV+CSSWordPress建站资源软件网络Firefox办公软件常用软件音乐电影常用工具个人所得税计算器MD5加密图片外链检查器留言板 有道 鲜果 抓虾 Google My Yahoo! newsgator Bloglines 哪吒WordPress插件列表 2009年9月30日 | 分类: WordPress | 标签: WordPress插件Ajax Plugin Helper:是一款使后台插件页面中的激活、禁用、升级或删除等工作免刷新化的插件。也就是说我们在对多个插件进行操作时可免除页面的刷新,节省鼠标点击的次数。update_tweet:发布新文章后,通知twitterOptimal Title:WP本身的title格式是”blog名称”>”文章名称”,不利于搜索引擎收录。这个插件把文章名提前。Some Chinese Please!:中文防SPAM插件最新文章签名:把最新的一篇文章的标题写到一幅图片上,用该图片作为论坛上的签名。NoFollow Tags:给标签链接加上nofollow属性让WordPress支持发表带有代码的文章WP 2.3 Related Posts:实现post和feed中的相关文章功能。让WordPress支持发表带有代码的文章[代码高亮效果]Different Posts Per Page:让各个页面调用的文章数不一样。 发表评论 | Trackback 目前还没有任何评论. [...]
很有效的外掛,謝謝分享!
[...] Some Chinese Please! [...]
[...] 现在又装了Some Chinese please,让那些bots打中文吧…… 2 条评论 wordpress 13 次阅读 [...]
[...] 现在使用的是一个比较有名的反垃圾评论插件:Some Chinese Please!。方式改为使用一个简单的插件。 [...]
[...] This post was mentioned on Twitter by 杨柳岸. 杨柳岸 said: @madein93 其实2.9.1 以上版本官方就带防Spam插件,挺强的。需要对中文Spam增强的话推荐Some Chinese Please! http://zi.mu/ch4 [...]
ÿ
[...] Some Chinese Please! Version 1.0.6 | By 冰古 [...]
[...] 感谢冰古开发的WordPress插件Some Chinese Please! 此条目发表在 建站分享 [...]
早就听说这个插件了,今天装上了,省去 了每天上千的垃圾留言,哈哈哈,感谢
[...] Database Backup插件,建立定时备份数据库机制;使用Some Chinese Please!和Math Comment Spam [...]
刚用了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']}”);
}
发表评论的时候有有些东西没有提交上去,
修改其实有两块
1.判断cf是否存在
2.用cf.insertAdjacentHTML 而不是 interHtml
謝謝你的修復,你可否重新發一次代碼呢?(在留言時,用<code>標籤可以避免代碼被wordpress過濾,或者直接用Email發也可以。)
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了
还有,就是希望在后台有个选项设置是否拦截trackback和pingback
大概明天就可以完成了吧.
[...] 1.0.7 版本 | 作者为 冰古 | 访问插件主页 [...]
这个很好用的,我用了那些洋垃圾就没有了
冰古哥..
这果断是个好插件..
不过.. 我发现, 作为管理员, 也被它给拦截了..
估计是机制的原因吧, 应该不能达到无视管理员用纯英文装逼吧?
這個是可以的,只是為了公平起見。。。好吧,把這個加上也是可行的。
[...] 所以我果断在博客里安装了Some Chinese Please!插件。Some Chinese Please!插件是由冰古制作的一款专门防御外文Spam(包括trackback和pingback)的Wordpress插件,它的工作原理很简单,在有读者发表评论时会自动检查留言内容中是否包含有中文字符,如果没有中文字符则提示留言失败。无聊的朋友们可以在留言里尝试着直接输入英文字符,看看产生的效果,嘿嘿。 [...]
[...] Some Chinese Please! [...]
这个很实用。 当然,没有一劳永逸的事情。
好事者最近开始利用中文来发垃圾了。关注中。