WordPress的一个彩蛋

February 16 2010, 6:10pm

昨晚不小心点了blog中某文章的“Compare Revisions”功能,深夜把我吓出一身冷汗。

  Wake up, 张磊...
  The Matrix has you...
  Follow the white rabbit.

把这消息发到Twitter(@blogkid),大家都和我说“Knock Knock”。 我想我是遇到彩蛋了(若不是就惨了),于是今天打算寻找一下出处。在目录中grep Matrix、wake up、rabbit都未果,猜到可能是做了加密,于是去翻代码。在Wordpress 2.92版本的wp-admin/revision.php中找到了线索: 54 if ( $left_revision->ID == $right_revision->ID ) { 55 $redirect = get_edit_post_link( $left_revision->ID ); 56 include( 'js/revisions-js.php' ); 57 break; 58 }

大意是,如果两个相比较的文章ID一致,就会包含js/revision-js.php这个文件。 而wp-admin/js/revisions-js.php文件中,有一堆加密过的字符串。粗略判断,就是看到的这几行字了。下面可以自己触发这个彩蛋,只要构造一个这样的url: http://you_blog_address/wp-admin/revision.php?action=diff&left=2414&right=2414 把后面的“2414”替换为blog上随便一个已有的文章ID,就能看到彩蛋出现啦。 PS:不知道是不是自己太没娱乐细胞了,初看到震惊了半晌。都是被逼的啊。 PS2:据说早在2.6版本就发现了这彩蛋。