Lonely Thinker(LT)是我编写的一个小型blog系统,这一系统所追求的目标是用户体验至上、功能简单、架构轻量。至于可扩展性,至少在目前的计划中不再考虑范围之内。你可以将LT的目标理解为B/S架构且经过功能简化的iWeb。
从07年11月26日发布0.3开始,LT就正式步入了0.4版的开发轨道。当初给这个版本设定的开发目标有三,一是确定每个版本升级所遵循的原则,以及版本号的规则;二是完成“iconment”功能;三是更新“Spam防火墙”。
现在回头来看这三个目标均已达到(当然从功能的角度来说,第一个也算不上什么目标)。其中“iconment”功能增加又最终去掉了评论时上传头像的功能,转而鼓励评论者注册Gravatar。而“Spam防火墙”经过数次更新,也已初步显示了一定的效果:在最近的22天之内,它成功地拦截了共779条spam,平均每天约35条。而在11月初的4天内,它更是抵挡了平均每天90.75条spam的进攻!
疯狂的spams-日志文件一角
在LT 0.3.14中,我大幅度改进了在“有效地阻止SPAM”一文中所提到的方法,完全重写了Comment的Model,现在Spam防火墙有了自己的Spam数据库、校验规则和校验机制,并且这三者是完全分离的,也就是说你可以很容易地增加一条校验规则而不改动其它任何代码。这让我觉得很酷!
Spam防火墙的部分代码
当然偶尔会有漏网的spam(今天一下子漏了好几条),这工作任重道远。
LT 0.5的开发目标如下:
这是优先级最高、最重要的目标。本来说要在08年内开源的,但由于时间及精力的关系,这个目标只能拿到09年实现了。
现在的程序架构很不合理(懒得先期构思的结果)、程序运行效率低下、代码注释不全等等问题不一而足。开源的目标之一,就是利用开源的机会强迫自己重构代码。
为了开源,需要做到:1)重构;2)添加注释;3)编写相关文档;4)在Sourceforge、Google Code或Cakeforge上给项目安个家。
主要改动包括:1)将拦截下来的spam自动添加到spam数据库中,已被下次判断留言是否为spam时使用,把Spam防火墙变为一个自给自足的系统;2)考虑集成一些数学算法(比如贝叶斯)来判断spam。
这个功能很有意思:想象一下你通过查看日志,发现最近由于一个网站推荐了你的一篇文章,给你的站点带来了许多的流量。那么从营销的角度来说,你可能希望对这部分访客做一些特殊的引导-比如有针对性的显示一段欢迎辞,这样会让他们或多或少有一种“宾至如归”的感觉。
我打算这样设计这个功能:1)设定一些规则(比如Referrer URI=http://dingyu.me/about),然后设定这些规则之间的关系(AND或OR),最后在设置相关的动作(比如显示一段欢迎辞,或者显示与当前文章相关的信息);2)规则的类型以及规则间的关系是预先定义好的,使用时进行选择。比如规则的类型只能包括Referrer URI、访问的时间、访问的IP等等,规则间的关系只能是AND或OR;3)动作的内容每次都是完全自定义的。这是为了保证更好的营销效果。
上述概念类似于下图:
Apple Mail中的规则设定
刚刚发现的:落伍者上的一个朋友对LT的看法。
- -
看了下,你说的落伍者的朋友就是我发的帖子。我汗…………
用gravatar当然是好事 这点支持
某种程度上,这有益于用户最多的wp社区和其他社区的用户的交流,体验上更能达到“无缝”的感觉
Spam数据库、校验规则和校验机制 三者独立,很赞的想法。但是在实现上,是用三层过滤还是可以自选组合的过滤方式?每多一层过滤,其实就是多跑一次代码。
还有就是akismet和mollom那样的防spam数据库,之所以流行开来,也有个原因是它们有非常庞大的后台统计数据做支撑。达不到一定的数量级的时候,效果就没那么好。如果每个LT的用户都自建一个数据库,浪费资源,效果也不一定令人满意。但是选用类akismet的方式自建?那积累起来也很慢……
个人建议lt就不要弄什么spam数据库了,直接接到akismet之类的去就好了。个人更喜欢mollom的,当然选哪个见仁见智。本地完全通过规则来过滤好了。
恩,就先这样。等着看邮箱里会不会收到回复。
[emoticon:angel]看了你的第一条评论我还纳闷呢-怎么会有这么巧的事情!原来如此 [emoticon:glasses]
开源CMS里边我最喜欢Drupal了,用过它,从4开始用的。
Akismet是要用的,但不是实时的,主要是出于速度的考虑。我打算采用cron的方式,定期从akismet上抓规则到本地数据库。
另外不存在“三层过滤”,因为校验说白了就是跑规则,几层过滤取决于你有多少规则,规则越多速度肯定越慢,不过现在LT还远未走到性能优化的地步,现在blog的流量很小,我也没那个需求。
看了你的blog,Drupal的主题很清爽!
[emoticon:big_smile] 热烈期待~
搜drupal的时候搜到了这里
却发现不是drupal的……
自己也正在借用drupal的理念写一个blog程序自己玩……
- -|| 热烈期待LT的完成。
好样的,支持!
葱白的说~~有机会要好好向你请教下。。。 [emoticon:glasses]
支持 期待中
需要帮忙测试 可以E-我:)
Hi,Man..
我很欣赏你,不是因为你有头脑有技术,而是我从的BLOG的风格可以看出,你应该是一个对生活挺有自己看法和欣赏角度的人.希望能够跟你做个朋友,我是在一个非常偶然的机会下浏览到此的.我的名字叫张弦. 看来有点巧合哦. 我是广东人. PS: I`m a Man.
看到留言后,有兴趣的话就給我一只Mail吧,我等着喔..
有空联系一下.