MT 居然采用明文方式存储用户 FTP/SSH 密码,于是杯具发生了 —— 貌似一台 GS 服务器被黑了,结果可想而知,我就在那 10% 的用户之列。博客页面 footer 被黑客挂了类似的代码:
<!-- [ea1bce76cc34b90bf0e3eb07e662b430 --><!-- 9190819521 --><noscript><ul><li><a href="http://rg8rhg34h34h.cc/c">.</a></li></ul></noscript><!-- ea1bce76cc34b90bf0e3eb07e662b430] -->
查找了一下被感染的文件:
find ./ | xargs grep 'eval(base64_decode('
find ./ | xargs grep '<!-- \['
find ./ -mtime 0
./sparkleisle.com/html
./sparkleisle.com/html/index.html
./voidman.com/html
./voidman.com/html/index.php
./voidman.net/html
./voidman.net/html/index.html
所幸影响不大,手工修复了。
MT 对采用明文密码的解释是:
“Clear Text” is a method of storing passwords in a database so that they are human readable. This preference was made to provide customers a convenient way of managing access to their services, e.g. connecting a PHP app to MySQL.
出发点是好的,可是做法太脑残了。
最后,雪特 AND 发可。
终于将 At Reply Mail Notification 的后台回复功能加上,这样看起来算是一个插件了。不过没有提供后台插件管理选项,觉得没有这个必要,因为相关设置不多且修改频繁度并不会太高。先上截图:
HTML 模版:

Continue reading...
早就答应 Cure 要帮他把博客从 LBS 转到 WordPress,事实上从他的闪光花园开始长了杂草之后,我就一直鼓动他转到 WordPress 下。或许是一直借口太忙了又或是自我标榜的“完美主义”在作怪,总之断断续续拖拖拉拉,从一月份一直到前些日子才将闪光花园的 LBS 主题改写成 WordPress 版本的,基本上了保留了原貌,用 Cure 的话说和之前没什么两样。尝试用了下 CSS Sprite,把一大堆不同类的背景图片弄到一起看起来是个失误,不过暂时也懒得改了。
ACCESS TO MySQL
数据转换费了一些周折。找了个工具叫 Bullzip MS Access to MySQL,在 XP 下却不能正常使用,提示“Error in function 'cmdNext_Click'”之类的错误。官方论坛有人说是 ADO 不存在的缘故,不过折腾了半天问题照旧。后来在安装了 SQL SERVER 的WIN2003系统下成功将数据 Dump 成 SQL 文本,可中文却是乱码,崩溃。最后还是用了月光的转换软件搞定,不过月光的软件不会生成创建表结构的语句,所以还是两者结合了一下,才将 LBS 数据转到 MySQL 下。
Continue reading...
去旧空间清理文件时,用 FTP 拉下一大堆 mysql slow queries 日志。由于我的博客平时几乎没什么人来访问,所以我也没怎么去关心是否存在 mysql slow queries。看了下日志,发现绝大部分 slow query 都是由 Wordpress 的重复评论检测造成成的:
没想到居然直接用 Text 类型的 comment_content 字段来判断评论重复,太衰了。开始还怀疑是不是日志搞错了,于是找到相应的代码确认: Continue reading...
想给博客加上访客留言被回复时邮件通知留言者的功能,本不想折腾,只不过试用了几个插件,都觉得不尽满意,便自己写了一个,先实现了几个功能:
- 访客可以针对每篇日志选择是否接收邮件通知
- 访客可以针对每篇日志选择接收何种评论通知
- 访客可以点击邮件底部的链接取消邮件通知
对于使用 @+留言者 形式的回复暂未作邮件通知,需点击留言者名称右边的小图标
回复。回复通知只对即日起的新留言有效。
欢迎在此留言,灌水。

Bluehost 空间快到期了,续费要 $9.95/mo,近来访问速度也不那么稳定,于是打算和 bluehost 说拜拜,碰巧看见大猫在勾引大家,好么,那咱也用 gift card zhuangbility 一回。
虽然被“幸运”抽到需要电话确认订单,不过还好没有发生 RPWT,不然如若分配的 IP 已经被 GFWed 那就白折腾了。
简单地测试了下,ping 延时 <= 210ms,FTP 上传速度稳定在 52Kb/s,下载速度 140 Kb/s,对于 2M ADSL 来说,这速度我已经很满意了。
迁移过程基本顺利,除了设置数据库密码的时候被小小郁闷了下,貌似 MT 不支持在数据库密码中使用某些特殊字符。
BTW: 比较喜欢 MT 的界面,简洁而不失华丽。
昨日请Cure帮忙设计 favicon ,没想到今早就发过来了:

第一个取自虚空行者(voidman)的形象,看上去有些邪恶
,我还是用第二个好了,试了下效果,感觉还不错。

Thanks to Cure.
幸好提前去 Yahoo 看了下域名的续费情况,不然还不知道 Yahoo 的域名年费狂涨到 $34.95,实在是太不厚道了!
于是决定将域名转出至 GoDaddy,不过却没想到过程却这么麻烦:
- 注册了国内的贝宝,发现不能添加信用卡才意识到注册错了地方,于是删除该帐号。
- 去注册了 PayPal 国际重新注册了帐号,花了两天时间验证了信用卡。
- 注册了 GoDaddy 帐号,填写相关信息,开始按步骤转入域名。不料折腾一晚上,checkout order 时始终提示“Transaction refused due to risk model”,抓狂。
- 咨询了 cosbeta,未果。本还想兑些美元直接付款,不过 cosbeta 说不一定有作用,PayPal 帐号可能太新了。
- 在 taobao 看见有人代购 e-Gift Card,可精确到美分。买了足够的金额,终于 checkout 成功。
- 上 Yahoo 解锁域名后,登录 GoDaddy 后点击 Pending Domain Transfers 继续开始转入域名进程,填写 Transaction ID, Security Code, Authorization Code 相关信息,点击了几个按钮后,等待域名转入邮件通知。
- 足足等了 5 天,终于收到 GoDaddy 发来的域名转入成功的确认邮件。在 Yahoo 取消了域名服务。重新设置了域名解析。GoDaddy 解析速度很快。
相关参考链接:
How do I transfer my yahoo domain to a new registrar
域名转移到 Godaddy 图文教程
Godaddy 域名使用说明
貌似在 wp-config.php 中加入 define(’WP_POST_REVISIONS’, false); 来禁用 Wordpress 的日志修订功能,post revision 还是会产生。gohsy 同学写了个插件 Revision Manager 来清理 post revision,不过个人觉得手动清理还是不够方便,决定利用 Wordpress 的计划任务功能(WP_Cron)偷偷懒。
不想为了这小小的功能而多添加一个插件,所以在主题目录下的 functions.php 文件添加了以下代码:
function delete_post_revisions() {
global $wpdb;
// Also need to delete the post meta and term relationships
$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id IN (SELECT ID FROM {$wpdb->posts} WHERE post_type = 'revision')");
$wpdb->query("DELETE FROM {$wpdb->term_relationships} WHERE object_id IN (SELECT ID FROM {$wpdb->posts} WHERE post_type = 'revision')");
// Delete the post revisions
$wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_type = 'revision'");
}
// Register the event
add_action('delete_post_revisions_event', 'delete_post_revisions');
if (!wp_next_scheduled('delete_post_revisions_event')) {
wp_schedule_event(time(), 'daily', 'delete_post_revisions_event');
}
Continue reading...
在之前使用 HemingwayEx 主题的时候我把一些只有半句或几句话的日志移动到了 asides 分类,而现在我不想让 Google Sitemaps Generator 插件生成 sitemap 的时候包括这些日志,也许只有我才会有这样奇怪的需求
。
可 Google XML Sitemaps 只能忽略指定的日志或页面,而不能忽略整个分类,所以只能自己动手了。
1. 打开插件目录下的 sitemap-core.php 文件,找到:
$where.=" AND post_password='' ORDER BY post_modified DESC";
$sql .= $where;
修改成:
$where.=" AND post_password='' ORDER BY post_modified DESC";
$where = apply_filters('sitemap_exclude_categories', $where);
$sql .= $where;
Continue reading...
Recent Comments