D-haha 的情侣博客 » 网站日志 » 搞了个 Z-blog 插件 - 想法和经历
我一向不喜欢搞这种东东的, 因为我害怕经历其过程中废寑忘食的苦难. 所以站点地图和模板升级一拖再拖却仍旧没有开始. 这一切散慢的工作安排中却有一个东西抢了先儿, 就是这个插件 - 黑词自动更新系统.
造成这种情况的原因有两个: 一是最近的Spam实在所我惹火了, 手动删了一些后觉得实在没面子, 我怎么能沦落到这种地步? 但无论装那个防SPAM插件都觉得它的黑词设置实在麻烦. 于是想开发一个基于插件的插件来解决这个问题. 二是看了Zx.MYS修改的一些代码, 突然想再拿"Msxml2.ServerXMLHTTP写些代码", 有了一点点创作冲动.
昨天早上起来, 天儿很好, 思维很清楚, 于是开始考虑这个想法的一些细节, 同时在论坛上发了个贴子问问有没有其它人想过这些. 结果到了九点多我才意识到这么早不会有人起来. 而所有的细节却基本都已想清楚了. 这才摆脱了偷懒情结, 也不管有没有别人在做了. 着手写吧.
Z-blog的插件接口还是很方便的. 而这个插件的工作原理也简单, 加上细节也清楚, 到12点多基本完成了.
其工作流程大致就是这样的:
内核部分:
- 要有服务端数据, 不然这个插件就没意义了. 服务端数据我采用了XML格式, 这样可以比较灵活的控制类别.
- 要能把数据保存到已有插件的黑词列表中. Z-blog提供了很好的接口, 但找到这个接口并灵活使用还是费了些周折.
- 制作数据接收代码, 这部分代码大部分是从我的网站里移植过来的, 因为我用的XML格式要比RSS简单得多, 这个过程就是作减法.
- 把代码接入插件已有的部分, 这才发现我网站中很多变量都未声明, 加上还要改变所有变量的名称以避免冲突, 这带来了些麻烦.
- 选择XML数据中的分类的功能, 我是以检查关键词的办法解决的. 而不是预想的设置复选表单, 这省了很大力气.
- 把先择的数据合并, 利用第二步完成的代码把这些数据保存.
细节设置:
- 怎样知道服务器是否开放? 我采用JS调用的方式, 这样可以在检查更新前提供一些服务器信息. 同时也可以根据是否有这些信息来判断服务器是否开放或服务器地址填写的是否正确.
- 怎样知道服务器有更新?我的设置是在每次更新时把数据大小的值保存下来, 在下次更新时把新得到的数据大小和这个值比对. 另外,还可以通过服务器信息获知服务器在哪天更新过.
- 如果服务器连不上怎么办? 这时最下方确认表单中的列表将会从本地调用, 以避免误操作.
- 在论坛里看贴子, 有人提议加大黑词辑框, 觉得这个想法挺实用, 于是加上了.
最后完成了修改文字信息和完成说明文档.
不过也可笑, 插件都写完了还没有想名字, 后来只好老老实实的命名成"BWOL", 也就是 "BlockWordsOnLine" 的缩写. 虽然很不好看.但也顾不了这么多了. 如果晚用一天就会多被Spam骚扰一天. 先用上才是正道.
没完成的部分也不止是名字, 还有服务器端的在线帮助, Spam提交等. 甚至还没来得及想. 现在想到的, 也仅是服务器端的数据标准而已.
不过这些部分可以慢慢来, 在未来遥远的计划里, 用户还可以自定义一些特有的黑词来和服务器数据相互辅助. 并可把自定义的东西通过这个插件共享出来.
« 别碰这些词汇, 它们是危险的.去除播放"RM/RMVB"时不停弹出的网页 - Realfilter »
不过,40并发链接,似乎有点少(相对全国人口来说……)
Spam提交我认为可以在用户删除评论时让用户填几个,如果有超过3个人提交即认定为SPAM
果然,你用的是五笔
发表评论: