CCode and TCode — 阻止垃圾评论/回复

《垃圾评论终结者–SCode》中介绍了利用SCode验证码有效阻止垃圾评论的方法,本文将介绍在MT3.2中另一种阻止垃圾评论/回复的插件CCode and TCode

CCode and TCode由两部分组成:CCode(Comment Code,用于阻止垃圾评论)、TCode(TrackBack Code,用于阻止垃圾回复)。MT3.2自带的anti-spam系统是在comment/trackback提交到数据库后再进行验证处理的,但是当有太多垃圾信息出现时,我们还需要对这些垃圾信息进行手工删除,略显麻烦。而CCode and TCode在信息提交时就进行验证,通过JavaScript代码添加CCode(隐藏的Comment Code Input框)或追加TCode代码到原来的trackback URL后面,使得显示的代码更不容易被垃圾制造者获取。

安装:
下载:CCode and TCode。下载完毕后,将压缩包中plugins目录下的文件解压至MT3.2的插件目录/plugins下,如下:
(mt home)/plugins/BigPAPI.pl
(mt home)/plugins/alogblog/CCode.pl
(mt home)/plugins/alogblog/TCode.pl
(mt home)/plugins/alogblog/lib/alogblogObfuscator.pm
接着将压缩包中default_templates/obfuscator.js的内容添加到mt-site.js脚本模板中。

标签使用:
1. CCode
将标签<$MTEntryCCode$>插入日志单篇汇整模板(Individual Entry Archive)的评论表单的<form>标签中,如下:

<input type=”hidden” name=”entry_id” value=”<$MTEntryID$>” />
<$MTEntryCCode$>

然后重建单篇汇整文档,查看重建后的页面源码,可以看到在相应位置出现以下代码:

<script type=”text/javascript”>obfuscator(‘AJibibLLji’, ‘D2SLoKjemqyA1ExhlXO8PQbsCgMBnJrHFVcTZ7IWUNpuzfdYk9R5G4t30a6vwi’, ‘hidden_input’, ”, ”);</script>

这段JavaScript代码的作用是生成一个隐藏的验证码框,框内默认填入了系统产生的随机验证码,在提交评论的时候会对验证码进行验证。
如果是评论机器产生的评论,将不包含这个验证码,就不会提交成功,因此只有在该页面中提交了评论,才能发表成功。

2. TCode
TCode不要求你对模板进行任何修改,因为它通过BigPAPI修改了MT默认的几个标签,<MTEntryTrackbackID>, <MTEntryTrackbackLink>和 <MTEntryTrackbackData>,你只需要重建单篇汇整文档(Individual Entry Archive)即可。
Spam工具是通过遍历猜测TrackBack地址攻击的,如下所示:

# i是trackback编号
loop ( i = from 500 to 1 ) {
   result = send_ping(tb base URL + i );
   if(result is OK) {
     bombing to that URL with many pings
   }
}

重建后将会在原先显示的TrackBack地址后产生一串较长的数字,这样Spam工具就不能用遍历的方法进行攻击了。

CCode和TCode都利用了obfuscator对产生的代码进行加密隐藏,使得Spam工具不容易解析代码。想要获取代码,就必须解析出代码,这是在理论上是不可能的。如果要解析,还必须访问一个页面获取JavaScript加密后的代码,然后进行解析,最后还只能发送垃圾信息到那个垃圾页面中。如果要发送垃圾信息到100个不同的页面,还必须对每个页面都进行获取和解析,对他们来说,这些就显得太烦琐了。

Reference:
CCode and TCode for blocking comment/trackback spam for MT 3.2 http://alogblog.com/movabletype/plugins/ccode_and_tcode_for_blocking_commenttrackback_spam_for_mt_32/
Six Apart ProNet – Plugin Directory
http://www.sixapart.com/pronet/plugins/

— EOF —

给Blog做个地图

这里说的地图指的不是导航地图,而是显示一张真正的地图,在这张地图上你可以看到自己附近还有哪些人在Blog。

地图是由FeedMap(Blogs+Maps)生成的,只要在它的网站上提交一下自己的种子并填写一些简单的信息就可以了(包括经度和纬度)。如果你的种子中已经包含地理信息,FreeMap会自动进行分析,如果没有的话,可以通过explore blogs进行获取。

完成后FeedMap会生成几段代码供你在Blog中嵌入使用:

效果一:

<div>
<script type=”text/javascript” src=”http://www.feedmap.net/blogmap/blogapi.ashx?method=blogmapbadge&feed=http://hily.me/blog/feed/”></script>
</div>

效果二:

<div>
<script type=”text/javascript” src=http://www.feedmap.net/blogmap/blogapi.ashx?method=neighblogbadge&feed=http://hily.me/blog/feed/></script>
</div>

效果三:

<a href=”http://www.feedmap.net/blogmap/blogapi.ashx?method=local&place=Fujian, Fujian, China”><img src=’http://www.esynaps.com/BlogMap/images/localopml.png’ border=0></a>

上面几种显示方式或许还不能满足你的要求,如果只想要显示一张地图,就照下面这样:

http://www.csthota.com/blogmap/blogapi.ashx?method=blogmap&feed=http://hily.me/blog/feed/&label=Hily

把 http://hily.me/blog/feed/ 替换为你提交给FeedMap的种子,再设置一下图片规格(最大300*200),label指定在你的位置上显示的名称。
由于FeedMap不支持中文,而Blog名称一般都包含汉字,显示时会出现????,因此label在这里显得很重要。
显示效果:

— EOF —

垃圾评论终结者–SCode

受够了MT2.661的那些垃圾评论机,整天都要用BlackList进行清理,重建。前几天终于把Blog升到MT3.2了,在MT插件目录里发现了一个很好的Anti-Spam,它就是SCode。

SCode其实就是个图形验证码,评论者在评论时必须正确输入正确的验证码后方能评论成功,而评论机器无法解析图形验证码中的数字,也就不能发表成功啦。

下面介绍SCode在Perl版MT3.2下的安装配置:
1. 下载SCode1.0
2. 将压缩包中plugins目录下的SCode解压到MT的插件目录plugins中;
3. 登录MT3.2管理后台,在主菜单右键点击plugins,进入插件管理;
4. 在插件管理列表中找到SCode,点击Show Settings,设置SCode参数:
Temp Directory:临时目录,一般是在MT安装目录下新建一个tmp文件夹,这里填./tmp/
Length:验证码长度,默认是6位
Max Temp File:临时文件夹中最多允许多少个临时文件
Action:当验证码出错时怎么处理评论。(Reject Comment:抛弃;Junk Comment:标识为垃圾评论,可待管理员审核。)
5. 切换到Blog的Setting目录,选择Plugins,在插件列表中找到SCode,点击Show Settings,勾选“Enable Security Code (CAPTCHA) checking on this blog.”以打开验证码服务;
6. 对以下模板进行修改:
Individual Entry Template
Comment Listing Template
Comment Preview Template
在这些模板的合适的位置加入:

<label for=”scode”>Security Code:</label>
<input type=”hidden” id=”code” name=”code” value=”<$MTSecurityCode$>” />
<input id=”scode” name=”scode” size=”10″ />
<img border=”0″ src=”<$MTCGIPath$><$MTSecurityImage$>?code=<$MTSecurityCode$>”>

更简单的方法是直接插入<MTSCodeInsert>标签。
7. 安装完成,重建文件。

现在来试试看:
如果SCode的Action设置为Reject Comment,则在验证码输入错误后会提示出错,评论不会被添加到数据库中;
如果设置为Junk Comment,则在验证码输入错误后会提示等待管理员验证,评论添加到数据库中,在MT后台的COMMENT目录下可以对这些Junk评论进行管理。

References:
SCode – Movalog Plugins
http://www.movalog.com/plugins/wiki/SCode
Six Apart ProNet – Plugin Directory
http://www.sixapart.com/pronet/plugins/

— EOF —

郁闷的 WordPress MU 安装

今天在本机上装了一个WordPress Multi User, 系统环境如下: WINDOWS 2003
Apache 2.0.54
PHP 5.0.4

WPMU版本为wpmu-2005-08-29, 是unstable版本.
安装时发生以下问题:

1. 安装时写数据库过程出错,找出错误代码位于index.php文件中.由于LINUX使用的路径是斜杠,而WIN32使用的是反斜杠,导致错误的发生.对文件中函数step3()前加入
$base = str_replace(‘\\’, ‘/’, $base);
即可修正这个错误.

2. mail()函数无效.修改了PHP.ini中的邮件SMTP设置还是没法使用mail(),最后在网上找到答案.在IIS中把SMTP服务设置为既允许连接又允许中继并设置为允许匿名访问就可以了.

3. rewrite规则中漏了一条,导致图片无法显示.在根路径下的.htacess文件中找到这行:
RewriteRule ^wp-admin/(.*) /wp-inst/wp-admin/$1 [L]
紧跟它加入这行就可以了:)
RewriteRule ^wp-includes/(.*) /wp-inst/wp-includes/$1 [L]

4. 最头疼最可恶的问题.在本机上测试成功后要在服务器上搭建,服务器也是WIN2K3且装有IIS6.0,并有数个网站在运行中.本想装个Apache用的,但是80端口已被IIS占用了,也不想用其它端口.没办法,只好在IIS上动手脚,还是用本机测试吧.以ISAPI方式安装好PHP,也捣了个IIS上用的URL Rewrite的ISAPI,接着把WPMU目录下的.hatacess中的Rewrite规则复制到httpd.ini文件中,原以为这样就行了…呜呜~~~不说了不说了,后面弄得俺一头雾水.总之是失败了,连原来想给它汉化的想法也冲掉了.

在官方论坛上有人问起如何在IIS中安装rewrite模块,就被鄙视了,真惨…(俺就不敢再问了)

References:
http://www.wordpress.org/
http://mu.wordpress.org/

— EOF —

Display Google PageRank On Your MT

Google PageRank Checker may help:
http://www.prchecker.info/

It’s very easy to display the PageRank of current site using Google PageRank Checker, and it can display with a small icon. Actually, it’s only a image on ur site.
For example, the two icons below display the PageRank of this page:
Page Rank Checker
Page Rank Checker

All u need to do is to choose and copy then paste the HTML tags below where you want the PageRank icon to appear:


<a href="http://www.prchecker.info/" target="_blank"><img src="http://www.prchecker.info/PR1_img.gif" alt="Page Rank Checker" border="0"></a>


<a href="http://www.prchecker.info/" target="_blank"><img src="http://www.prchecker.info/PR2_img.gif" alt="Page Rank Checker" border="0"></a>

There is another tool for MT to show the PageRank — MTGoogleRank.
It’s a pity that we need a Google API key to use it and I just found that I could not get the key at all.
You can get more infomation about Google API on http://www.google.com/apis/.

— EOF —