新的起点

今天早晨6:30就起床,趁着早晨网还快些,把服务器上的Blog升级到了2.0.3。上传新版本文件、在phpmyadmin里面更新数据库结构、进入后台刷新缓存,一切都很顺利。

努力了3个多星期完成的程序平安上线,HOHO,心里还是挺有成就感的。三个星期,前两天基本是在调整数据库结构、调整配置文件结构,之后四天在写WakiAAS反SPAM系统。之后的一周半基本上都被XMLRPC占去了,因为牵扯到程序后台的其它部分,所以很花时间。最后两天在调整用户界面(CSS和Javascript),期间遇到了一个IE的兼容问题,搞了半天终于调通了。用惯了Firefox再在IE底下写Javascript和CSS真的是很不习惯= =||在Firefox底下弄得好好的东西,到了IE里面就会莫名其妙地出现问题,搞到最后还是做了CSS Hack。

在IE里面有一个地方比较有意思,就是这次这才发现IE会检查innerHTML与上层标签“和谐”与否,一旦发现在"包容能力"差的标签中插入不相容的标签,马上给你华丽地“和谐”掉,这点比起Firefox该说是好还是坏呢……算了,严格一些总还是好的,只是开发人员需要多动点脑子罢了。我就是试图往

里面innerHTML

的时候被和谐掉的,最后改CSS+Javascript+网页终于改好了,去掉了P,直接往

里面innerHTML

就万事OK。

 

这篇Blog就是我用XMLRPC写的第一篇Blog,能够悠悠闲闲地在在本地写好之后再发布出去的感觉真好,就算发布的时候网络出问题也不用担心丢失稿子,真的很不错 🙂

只是现在Waki-Blog的功能限制,所以XMLRPC支持还不够完全。现在不能提供支持的有getTemplate、setTemplate两个方法,以及保存草稿和修改Blog日期两项功能。相信随着将来不断修改应该能得到完善吧。

Waki-Blog 2.0.3接近完成

从宣布开始写2.0.3版本开始到今天有三周了,而Blog也有将近一周没怎么更新了= =||一直忙着在写程序……写的那叫一个昏天黑地啊 囧…
对系统架构的一系列调整、全新的公用WakiAAS反SPAM系统、XMLRPC支持、对更多细节问题的改善、前台界面的调整,真的很累人。这应该是自从Waki-Blog 1.8完成之后最大规模的手术吧……
现在正在进行一些测试和Debug,包括各种XMLRPC客户端、调整之后的架构等等的。相信完成之后会有新的感受吧。

XMLRPC功能支持两大主流API,Blogger API以及MetaWeblog API。具体支持的方法如下:
Blogger API:
blogger.getUsersBlogs
blogger.getUserInfo
blogger.getPost
blogger.getRecentPosts
blogger.newPost
blogger.editPost
blogger.deletePost

MetaWeblog API:
metaWeblog.newPost
metaWeblog.editPost
metaWeblog.deletePost
metaWeblog.getUsersBlogs
metaWeblog.getPost
metaWeblog.getRecentPosts
metaWeblog.getCategories
metaWeblog.newMediaObject

以后就能实现离线写作啦zan

Blog程序新版本制作决定- -||

首先献上图片一张——英雄传说3 白发魔女PSP版,男主角。太可爱了T_T
PS.谁能教我PSP截图,照相机照的效果太悲惨了 囧……
Image

本学期开始开发Waki-Blog的新版本,Waki-Blog 2.0.3,主要功能计划如下:
1.系统架构变更,全面更新配置文件的结构。
2.提高后台舒适度。
3.重写Anti-SPAM系统全部代码,将目前的各项反SPAM功能进行整合,形成一个单独的模块。
4.重写评论部分代码。
5.重写Trackback代码。
6.改变数据库结构,评论与Trackback整合。
7.加入Pingback的支持。
8.加入XMLRPC的支持(很早之前就想了- -||)。

以上 -0- 显然是大工程了,涉及到前台、后台的很多地方,不是一时半会能够完成的。值得庆幸的是,当前的2.0.2版本无论从功能上还是稳定性上来说都是相当成熟的版本了。因为工程量很大,所以说可能会分成几次来写,每次进行一部分改动。比如,这个周末我想完成Anti-SPAM系统的改写和评论、TB代码的重写。
我给自己定下来的任务就是本学期之内,也就是14周内完成,尽量争取吧。

今天早晨最后一次对2.0.2进行了维护性更新:
1.修正了几个安全上的潜在隐患。
2.修正了验证码系统的两个Bug。
3.修正了反SPAM系统的几个小Bug。
4.修正了后台的模板系统Bug。
5.在后台新撰写Blog的地方增加了自动保存草稿功能,再也不用担心Session过期和提交失败了cool。
要说的呢,就是因为没人给我发SPAM,所以现在我这里的反SPAM系统是关闭的- -||。反SPAM系统目前也是Debug最不彻底的地方,功能也没经过全面的检验,真的来了SPAM Flood的话功能会不会按照预想的那样发挥也不知道。呵呵,走一步看一部吧。

为了纪念2.0.2这个版本的最终完成,特别给它起了个名字,叫Oxygen(氧气),呵呵,满酷的吧。

Dgwxx的猫窝增加便携版

今天更新了一下Waki-Blog,主要增加了一个功能,修正了一个Bug:
1.增加了便携版本。为了方便使用手机、PDA等便携设备浏览,特意增加了一个文字版的简化界面。这个文字版本的界面比较简单,没有Javascript(当然,同时也就去掉了评论功能),兼容性比较好。目前,这个文字版本还在测试中,欢迎提出意见建议。我用PSP浏览了一下,感觉速度比浏览完全版快了很多,版面也不会乱掉了。为了防止搜索引擎对移动版的内容重复索引,加入了一个robots.txt。
2.修正了之前修改缓存结构的时候遗留的一个Bug,造成编辑Blog的Tags失效。

欢迎大家用手机踊跃浏览love~呵呵。

今日新闻

1.日语精读考完了,期末考试全部结束。
精读感觉还不错,正常发挥,应该能考80分以上。如果运气好,说不定能上90zan。
总结一下这学期的学习,虽然说期末考试无论从感觉来看还是从成绩来看都相当不错,但是繁荣下面的隐忧还是不少的。主要就是人心浮躁、学习变得不踏实了,静下心来学习这种事情基本上从没有过。客观上老师轮换制度虽然是一个原因,但是主观上的错误更多。
下学期无论如何不能再这样下去了= =||

2.Bo-Blog官方网站被黑。
昨天晚上想到论坛上联系Bob来着,结果无论是weblog还是bbs都是一片空白。觉得奇怪,就怀疑是不是被黑了。结果今天再访问的时候就变成了404。到网站根目录下一看看到了totti的公告,说站点存在漏洞,要求大家及时备份数据,bob晚上进行处理。
这个公告比较模糊,说是“站点存在漏洞”,到底是服务器本身被别人攻陷(暴破?Windows漏洞?),还是bo-blog的未知漏洞被人利用就不得而知了。不知道是不是最近一段时间内剑心发现的bo-blog注入漏洞。

新的反SPAM系统功能

根据SPAM的如下特性,想出来的方法:
1.SPAM里面必然包含链接(网址)。
2.SPAM是大量的、连续的(不然达不到吸引搜索引擎注意的目的)。

根据这样的特性,基本原理如下:
1.首先用正则表达式来匹配收到的评论/TB,如果包含链接(网址),则继续下面步骤。
2.从数据库里面选出最近N条(我想10条应该够用了吧)留言/TB。
3.从上面10条最新评论/TB中同样用正则匹配出网址,逐条与收到的评论/TB进行相似度计算(php内置函数similar_text()即可),相似度大于70%的一般就可以被判断为垃圾了(重复的网址)。

以上是基本方法,下面谈谈比较灵活的方法:
1.匹配的时候,只匹配域名。比如http://www.dgwxx.com/blog/index.php这样一个网址,只匹配www.dgwxx.com出来。防止利用路径进行欺骗。
2.触发垃圾的条件可以更为灵活,降低误判的概率,比如10条最近评论/TB中,要有3条包含疑似重复的网址才能被判定为SPAM等,相似度也可以适当调高(现在Waki-Blog的做法是只要有任意一条的相似度大于70%就算SPAM)。
3.可以让管理员选择被判定为SPAM的消息的处理方式,审核还是直接丢弃。
4.结合自动删除未审核评论/TB功能,就能做到“铁打的Blog,流水的SPAM”。SPAM就像流水一样,不在Blog里留下痕迹,一段时间后被自动删除。

这种方式的好处:
1.针对性强,只针对网址,而且是重复的网址。最大限度地防止误判、漏判。最大限度地减轻了管理员审核评论/TB的工作量。
2.只比较网址,而不比较整篇留言,一来提高效率,二来可以防止利用随机字符、随机文章来稀释相似度的行为。

此外,从今天开始征集SPAM,我在论坛开了一个SPAM专区,专门用于发广告,发的广告将被用于反广告系统的研究。欢迎广大机器人为我们提供素材。如果您收到了SPAM,不妨也提供给我们,为反SPAM事业做出贡献。本版发帖无需注册,游客也可以发帖!
地址是:http://www.dgwxx.com/nmmbbs/forumdisplay.php?fid=26
继续阅读新的反SPAM系统功能

向订阅本站Feed的朋友致歉

因为升级到Waki-Blog 2.0之后,RSS文件的输出地址从/rss.xml变成了/data/rss.xml,我却忘了修改Feedsky里面的RSS来源地址,导致Feedsky一直没有更新我的Feed。
在这里向一直订阅我的Feed的朋友致歉。

此外,我正在写Waki-Blog自动Ping Feedsky的插件,完成之后,每次更新Blog之后,Feedsky就会立即更新Feed,让您尽早一刻看到新文章 🙂

给自己找个借口高兴一下

每年到了圣诞节:
1.媒体/网络上例行地以“中国人要不要过圣诞节”为主题进行吵架活动;
2.商家进行“圣诞商战”;
3.学校外面的街上满是以圣诞为主题的促销活动;
4.宿舍楼下摆上圣诞树,贴上圣诞老人的海报;
5.西语学院在学校音乐厅举行圣诞晚会;
6.……
耶稣不是中国人,大多数的中国人也不信教,年轻人“过圣诞节”也不是真信了教,真就受到了美帝国主义的文化侵略。因此,学者们也不要看到圣诞节就拔到什么中国人不中国人的高度,在能让人高兴的事越来越少的现在,给大家留个高兴一下的借口不也挺好的么?再说,学者们不也正是托了圣诞节的福才多了一个露脸的机会,在某种意义上,应该感谢才是。
继续阅读给自己找个借口高兴一下

纪念Waki-Blog半岁~ Waki-Blog2.0诞生

从6月18号Waki-Blog的“前身”,也就是改名之前的z-Blog上线并发布第一篇Blog以来,今天正好是半周年了。为了在今天这个有纪念意义的日子里公开Waki-Blog 2.0,我可是努力了很长时间的。
这几天基本上没怎么上网,疯狂地在写Blog程序,前台功很早之前基本上已经定型了,但是后台却落下了很多,只好现在补课补回来。现在Waki-Blog跟当初那个小不点的简易Blog可是大不相同了,开源果然有动力。
详细更新列表请入内观看。
继续阅读纪念Waki-Blog半岁~ Waki-Blog2.0诞生