on 2007.5.23
归类于 软件
1,143字
很多人不常开QQ,嫌麻烦。QQ服务器会把一些消息保存下来,比如朋友发来的消息,在你下一次上线时就会看到。而QQ群里消息通常比较多,而QQ服务器只给保存大概20条记录。所以如果群里很多人说话的话,只要一个晚上没开QQ,第二天一早再打开QQ就根本不知道昨晚别人聊的是什么。好在QQ群有一个群聊天记录保存服务,可以保存7天以内的QQ群聊天记录。
这个功能对于我这样不常开QQ的人是很不错的。我加了几个WordPress群,有时一个群一天就有1800条消息,所以除非天天开着QQ挂在上面,否则很难看到全部的消息。现在有了QQ群聊天记录保存服务,我可以隔几天上去查看一次,不必担心有消息看不到了。
继续阅读《QQ群聊天记录》
2007年5月21日,也就是昨天,一个影响WordPress 2.1.3及更早版本的SQL注入漏洞被公布了出来。[via][via]
刚刚在网上看到相关说明,这次是因为没注意检查传入的Cookies而导致可以SQL注入的。(不过SQL注入基本上全是没注意检查传入的变量引起的吧)不过这次注入后执行的SQL语句的返回没有被输出,所以没有办法通过输出直接或间接地获取存放在数据库中的管理员密码。这次的攻击程序只能通过分析页面执行时间的长短来检测密码,这样导致检测时间比较长,而且设置的越长检测结果越精确。通过分析页面执行时间来获取数据库中的资料这种方式倒是很值得研究一下,再使用二分法来检测每一位字符最终获得全部32位字符的方法很好玩。
还好这个问题已经在WordPress 2.2里被修复了。(2007年5月11日的Changeset 5440)WordPress 2.2已经发布一个星期了,模板、插件等各方面兼容性也比较完善了。甚至于,K2模板因为WordPress 2.2的发布准备发布一个新版本(via 《K2 Still Alive》),不过至今一个礼拜过去了,还是没个影,可怜的K2 0.95 RC1还是一直飘在那儿。现在是时候更新到WordPress 2.2了,顺便可以消除这个漏洞。而坚守WordPress 2.1.3的XDJM们,则可以参考WordPress 2.2修改的部分,在wp-includes/pluggable.php的第122行(这是一个空行)加上一句$user_login = $wpdb->escape($user_login);。
尝试用攻击代码获取我自己Blog的密码。程序运行在DreamHost主机上,而我的Blog在盘古主机上,所以网络速度比较慢,再加上这个程序本身也很耗时间,最后耗时20分钟拿到了我的Blog密码,当然是MD5过的。对比存放在数据库里的密码,一个字都不差。这种感觉以前经历过一次,所以这次没那么震惊了,唉。如果是黑客拿到了这串密码,再MD5一次,然后伪造一个Cookies就可以登入WordPress后台了。
因为SQL注入可以执行任意的SQL语句,所以如果黑客恶意修改或破坏数据库也没什么办法。但是对于存放在数据库里的用户信息,倒是可以加强一下防范。用户ID可以修改一下,不过文章表和评论表都用到了用户ID,修改起来也比较麻烦。
而安装WordPress时可以修改默认的数据表前缀"wp_",然后再另做一个"wp_users"表,用于迷惑黑客,这样也很不错啊。不过已经装好的WordPress就没办法了,数据表前缀最好不要修改,记得它还被用在"wp_option"表中的某个地方。
另外还有用户名,WordPress不允许修改用户名,很多人是通过新建一个用户,然后把新用户设置为管理员,然后再删除原来的"admin"用户来解决这个问题的。另外,也可以直接修改数据库来修改用户名。因为伪造Cookies需要使用用户名,所以改掉用户名也可以起到防范的作用。
再有就是把WordPress本身以及各个模板和插件的文件的权限设置的低一点,使得在WordPress后台无法修改这些文件。因为黑客登录后台后会上传木马以获得web shell,WordPress本身做了一点限制,就是禁止后台的编辑器修改wp-config.php文件,再把通过设置权限来禁止后台的编辑器编辑各个PHP文件,上传木马就会比较困难了。
当然,最重要的还是做好数据库和文件的备份。还有就是少得罪人,少结点怨,嘿嘿。
on 2007.5.10
归类于 网络服务
630字
卫明今天告诉我,他的新版China Blogger Map发布了。他说他是学会计的(和海豚一样),不太懂技术。所以我觉得这个程序能做起来真是不容易。
新版的China Blogger Map可以让访问者自行添加Blog,只要填上自己所在位置的经纬度,左边的Google地图上就会把你的位置在中国地图上显示出来。
下面是宣传稿:
China Blogger Map(简称CBM)是一个开放给网络上blogger来登记博客的自由活动,只要你是中国人(无论你在国内还是在国外),并且你自己拥有一个博客,你就可以加入China Blogger Map。CBM可以让你清楚地从的图上得到你熟悉或不熟悉的blog的作者,身处何地。当然,这需要更多的人来参与才能体现出它的乐趣。CBM旨在将中国的博客汇集到一起,从而促进相互之间的联系,并为广大的中国blogger提供一个简单的博客导航系统。发起这个活动只是为了能更好的形成blogging的氛围,推动国内博客的发展。
China Blogger Map的主要功能有:
- 你可以自主添加自己的博客在China Blogger Map的地图上,而不需要我去手工登记。
- 你可以在China Blogger Map中搜索你感兴趣的话题的博客。
- 你可以在China Blogger Map中找到和你来自同一个地方的blogger。
- 你可以引用China Blogger Map你所在位置的共享链接,从而让其他人可以知道你在中国博客地图上的位置。
立刻加入China Blogger Map吧!
on 2007.4.30
归类于 网络服务
3,460字
今天突然想起了OpenDNS这个东东,想仔细研究一下它的用途。
以前好像在cnBeta看过一篇文章提到过这个玩意,下面好多人发评论说他们都在用这个东西,可以提高访问网站的速度云云。我记得这只是个免费的DNS查询服务而已,想看看它到底有什么过人之处。
先到OpenDNS的网站看了看,上面写着OpenDNS可以使您对Internet的访问Safer(更安全),Faster(更快)和Smarter(更聪明)。点进"Get Started"链接,页面显示这个网站提供的是免费的DNS查询服务。所谓更安全,是指OpenDNS可以屏蔽掉一些网络钓鱼(phishing)网站,在您访问这些网站时给出警告。所谓更快,是指OpenDNS提供的DNS查询服务速度比较快,而且使用了cache等技术提高DNS查询速度。所谓更聪明,是指当你输错一些网址的时候,比如把yahoo.com错输成yahoo.cmo,OpenDNS会检测到这个错误,并返回正确yahoo.com的IP地址。另外,你还可以设置Shortcut(缩略名),比如,设置"mail"指向"mail.yahoo.com",以后当你在地址栏输入"mail"后就会自动访问"mail.yahoo.com"这个地址。还有,OpenDNS更可靠,它可以保证长期有效,不会让您因为DNS服务器停止工作而无法访问互联网。
OpenDNS的使用很简单,和其他的DNS服务器一样,只要把网络连接里的两个DNS服务器地址改成OpenDNS的208.67.222.222和208.67.220.220,在OpenDNS网站的Get Started部分对于Windows、Mac、Linux/UNIX、路由器、手机、游戏机、DNS服务器(可以设置让其把请求转发给OpenDNS)都做了详细的图文说明。
继续阅读《OpenDNS——一个免费的DNS查询服务器》
on 2007.4.17
归类于 网络服务
2,835字
今天收到snap.com网站的通知邮件,说Snap Preview Anywhere服务已经不再提供使用了,取而代之的是新的Snap Shots
。
我从2006年12月27日开始使用snap.com提供的Snap Preview Anywhere这个服务。这个服务用起来很简单,只要在网站上注册就可以获得一段代码,粘贴到Blog模板里就可以了。当浏览者把鼠标移动到某个链接上时,旁边将弹出一个气泡显示该网址的预览。从2007年2月17日Snap Preview Anywhere新增了一些选项用于配置显示效果,到2007年4月6日增加了包括简体中文在内的7种界面语言,这个服务变得越来越好用了。
新的Snap Shots服务会对一些特殊的URL地址显示一些特殊的预览。比如Wikipedia,可以显示条目的摘要,而不再是以前小的看不清字的预览图片。snap.com网站和这些内容提供商进行合作,使得浏览者可以获得更多的信息。能被特别处理的地址大多是一些知名网站的页面,下面一一介绍:
其他一些设置可以参考snap.com Blog中的说明文章(这个Blog的feed里显示它使用的是WordPress 2.0.2,它咋就不怕被黑呢?还是有意这样写来迷惑黑客的?)。另外Snap Shots现在有中文界面,连帮助什么的都是中文的。虽然翻译的不怎么好,但是也并不难理解,毕竟我们都学了二十年中文了嘛,哈哈。
另外,Snap Shots还提供了一个了Snap Shots Markup Language Technical Specification(这个pdf文件的预览图片上方显示着Adobe Reader 7.0的标记,Snap Shots服务是使用IE自动截图的,可以保证预览图片和最终用户看到的页面基本接近。),可以用一些span标签来写一段代码,Snap Shots的JavaScript会自动读取这段代码并生成一个图标链接。大致看了一下,大多数都只有一个参数,只有MP3文件可以自行设置歌手名、歌曲名和专辑名称,不过我们完全可以在MP3文件的标签里添加这些信息,Snap Shots会自动读取的。而且在增加图标后,原来的代码好像不能自动隐藏掉,还要求使用者自己添加style="display:none"这样的代码。我觉得还不如自己写链接呢,起码可以保证feed中的正常显示。
其他的选项都继承自旧的Snap Preview Anywhere。你可以设置弹出框框的颜色、语言、尺寸、是否显示搜索框、是否预览外部链接、是否预览内部链接。一般可以把预览内部链接的选项关掉,这样只有外部链接才会弹出预览。另外还可以给链接后面加上个小图标,并可以设置鼠标移到图标上显示预览还是图标和链接上都显示预览。由于JavaScript的执行会影响页面的显示速度,所以你可以设置这段JavaScript延后执行,使得页面可以在显示完毕后再慢慢执行Snap Shots的JavaScript代码。
这个服务的速度很不错,网址预览图片的获取和显示都很快。不过,毕竟它的服务器在国外,象我这样空间在国内,而且又用了K2这样庞大的模板,有时截到的图会缺少背景图片。当第一次显示某个链接的截图的时候,会提示“该地址已经进入待处理队列,请待会回来检查”。一般不到半分钟再把鼠标移到这个链接上就可以看到截图了。
虽然邮件里说旧的Snap Preview Anywhere的代码不必替换,但是我看了一下,JavaScript脚本的网址好像改了。另外,我也想看看新的Snap Shots有什么新选项可以调整,所以我又到网站重新设置了一遍,然后把新的代码添加到了模板的footer.php文件里。
Snap Shots这个服务还是挺好的,不仅样子酷酷的,而且确实方便了Blog访客,值得使用。
on 2007.4.15
归类于 录入文章
11,063字
《南方都市报》2007.4.15 B02版
互联网文件分享每年使好莱坞损失近70亿美元,但是如果电影工业真想禁止网上盗窃行为,唯一的办法是参与其中。全球最大BT网站Pirate Bay(thepiratebay.org,海盗湾)的故事就是一个最好例证:2006年5月31日Pirate Bay被瑞典警察袭击,大批设备被收缴,虽然损失惨重,Pirate Bay却在24小时内在荷兰找到一个临时家园,并在3日之内靠借来的设备恢复运行。袭击事件反而提高了网站知名度,其每日访客量已经超过100万。1000多名忠实支持者还在瑞典第一、第二大城市发动游行示威,抗议警察袭击。在报纸曝光美国电影协会和美国政府是推动打击Pirate Bay的幕后黑手后,舆论哗然。现在连许多瑞典政客也站到拥有众多选民支持的Pirate Bay一边。
继续阅读《网上大盗(Pirates of the Multiplex)》
on 2007.4.14
归类于 生活
1,125字
两天前和一个朋友吃饭时,她跟我提到了她最近看的一套VCD。她说觉得上面那个教授讲的都满正确的,并提到教授举的一个例子:教授说,现代人做事情都力求完美,比如,出门的时候,关上门以后还要再推两下,以确认门是否关好。
刚才我在整理记事本时突然想起这个事。我的记事本是用来记未来要做的事的,比如在没上网的时候记下待会上线后要做的事。当我做完某件事后,就会拿笔把对应的一项划掉。我最近发现我也很“力求完美”,每次划掉一项时都会迟疑一下,会想自己是否真的做完了这件事。另外,我还会不自觉地翻看以前已经划掉的那些记录,再回想一下这些事情是否真的做过了。还有,我发现最近我在删除电脑上的文件的时候都会很小心,按下Delete键之前都会不自觉地花好长时间思考这个文件是否确实没有用了。然后,等隔几天清理回收站的时候,又会再检查一遍,生怕误删了文件似的。
另外我还会时不时的按下Win+R、Ctrl+V,检查一下剪贴板里是否还有文件等没有粘贴到目标位置。或许是以前有Ctrl+C后忘记Ctrl+V了于是就一朝被蛇咬十年怕井绳地养成了这个陋习吧。还有,现在我在每次要复制文件或是复制文本或是截屏时,在我按Ctrl+C或PrintScreen之前,我也都会条件反射地检查剪贴板。陋习啊,陋习,就好像有些人很喜欢在桌面上点右键然后点“刷新”一样。
我觉得这也不是“力求完美”的问题,而是很多人压力大的原因。现在很多白领每天要做的事很多,而且各种各样的都有。我的一个朋友,在一家公司做助理,去年年底有一天老板突然说在YouTube上看到一个视频不错,要下载下来放到笔记本上。她没辙了,只好找我。我当时也是刚知道下载YouTube视频的方法,于是下载下来,10M的文件,通过MSN给她传过去。另外因为flv文件WMP无法播放,于是又上霏凡找了个flv播放器传给她。没办法,老板发话下属就要立即去做啊。
另外,工作以后,如果做错事后果也很严重,使得人做事时会患得患失的。这也是压力的一个方面。另外,现在的职场也很复杂。还有,现在的公司对人的要求不再是象机器一样,上司发布什么命令你照着做就好了。很多时候,你需要帮你的老板思考一些事情,从而使他可以省很多心。所以,压力确实是很大的。
我周围很多朋友在出门的时候都会很紧张。钥匙带没带?钱包?手机?有什么东西拉下的没?关门的时候,也都要推几下,甚至有时都走出去几步了,突然又想起记不得自己关好门没有,于是再折回去再检查一下。另外,我在坐公交车的时候,大概每一分钟都会摸一下口袋,看手机什么的都还在不。呃,当然,小偷猖獗也是一个因素嗬。
这种患得患失的状态让人很难下判断和做决定,所以很影响工作效率。或许,应该给自己减减压了,要不给压崩溃了就糟糕了。
on 2007.4.12
归类于 网络服务
1,150字
今天才看见一封Sun邮件列表3月25日发来的邮件,介绍了一项新服务:Unix体验中心。这个网站提供免费的UNIX/Linux体验和测试环境,
进去注册了一下,然后用PieTTY登录了上去。连接的速度非常快,看资料说是双网接入,教育网5M带宽,公网5M带宽。运行速度也不错,“2颗双核单线程的AMD Opteron 280芯片,CPU主频为2.4GHz,配置4GB内存”,确实是厉害。
操作系统是Solaris 10 Update 3 for x86/x64,带有Sun Studio 11集成开发环境和Java SE 5.0软件开发包,另外还带有C/C++编译器(cc和gcc),Fortran语言编译器(f95)。当然,还有Python,不过版本有点低,Python 2.3.3。
目前只有Solaris操作系统,但是四月五月内将会增加FreeBSD、Fedora和Ubuntu操作系统。这个服务对UNIX/Linux初学者很有帮助,对在UNIX/Linux下开发程序的程序员也很有用。以后学Linux、gcc、Python,不用再忍受DreamHost的低速了。
目前服务器不提供网络服务,但是wget下载、ftp登录其他服务器和telnet/ssh连接其他服务器都没问题。不过现在空间限制为20M,不能下太大的东西。另外,车东提到的使用ssh服务器做加密代理的方法在这里好像没法使用。不过也没什么,这个服务器在国内,一样要受GFW影响。另外,不知道这个公网教育网双线服务器,用于下载教育网资源如何?
服务器支持sftp,不过我的LeapFTP不支持sftp。网站介绍说可以用Core FTP和psftp。我想一些著名的ftp客户端,比如FlashFXP和CuteFTP应该都支持sftp登录吧。没办法,只好下载了和PuTTY配套的PSFTP,命令行的,用起来好不方便,而且还不能弹出右键菜单,导致我没法粘贴。
"ps -e"看了一下,看到好多的sshd、bash和screen,还有java和python,以及一些奇怪的程序,比如"a.out"。另外,好像有很多vi,但是只有很少几个vim,奇怪,不是说vim比vi好用吗?
DreamHost的shell还有这个免费服务,都很有用处。Linux初学者,除了可以在上面做测试以外,还可以参考人家的配置文件。就算有了自己的UNIX/Linux操作系统,也可以用这个免费服务看看别的操作系统是什么样子嘛。另外,做一些测试时,比如科学计算之类的,也可以用这个,毕竟人家的配置比普通PC高得多嘛。
P.S. 网站主页是用WordPress 2.1.2架设的,英文原版,没用中文包和中文版。而且,很多目录都可以显示列表,比如可以到这个地址看到网站安装的WordPress插件,这安全性实在是让人Orz。
自从3月底搬了家,到现在一切都还顺利。就是有一点,搜索功能好像有点问题。
K2有一个Live Search功能,直接在搜索栏输入要搜索的文字,搜索结果就会在左边显示出来了。我要找旧文章时都是使用这个即时搜索功能,感觉非常方便。这几天经常出现文章搜不到的情况,明明记得自己写过某篇文章,但是就是搜不着。在搜索框输入搜索字符串后,即时搜索显示没有,点回车,WordPress的搜索也显示没有,再到后台文章管理页面,也搜不到。没办法,只好打开Google用“关键词 site:yskin.net”搜索,结果一下子就找到了。
分析了一下,搜不到的几次都是中文关键词,但也不是所有中文都搜不到,有的没问题有的就不行。搬家以后,MySQL版本由4.1变成了4.0,所以我怀疑是MySQL 4.0对中文支持不好导致的问题。直接进PHPMyAdmin,用SQL语句查询同样的关键字,却没有问题。于是改了一下wp-includes/wp-db.php文件,把所有SQL查询语句写入一个记录文件里,找到了搜索时的查询语句:
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_post2tag p2t on wp_posts.ID = p2t.post_id INNER JOIN wp_tags on p2t.tag_id = wp_tags.tag_id WHERE 1=1 AND (((post_title LIKE '%授时%') OR (post_content LIKE '%授时%'))) AND (post_type = 'post' AND (post_status = 'publish' OR post_status = 'private')) OR wp_tags.tag like '%授时%' GROUP BY ID ORDER BY post_date DESC LIMIT 0, 10
很明显我用的tag插件Ultimate Tag Warrior
在这条语句里加入了一些代码,使得WordPress的搜索功能不仅可以搜索到文章标题和文章内容,也可以搜索到文章的tag。把这条SQL语句拿到PHPMyAdmin里,测试了一下,最终发现把"INNER JOIN wp_tags"这部分的INNER JOIN换成LEFT JOIN就可以了。
记得以前看MySQL文档时看过这部分的介绍,不过讲的不是很清楚。上网查了一下,在这里找到一段说明,原来LEFT JOIN可以确保左表中的所有行出现在结果集中,如果左表中的某一行在右表中没有匹配,则结果集中属于右表的列为空值。而INNER JOIN,结果集只包含左表和右表都匹配的项,也就是说只返回一个交集。看了一下,我要搜索的文章没有加tag,所以才搜不到的,汗。
在UTW的ultimate-tag-warrior-actions.php文件里找到了罪魁祸首ultimate_search_join()函数,查了一下,这个函数是2007年1月17日发布的UTW 3.1415926版被加入的,更新日志最后一条写到:"Search includes tags [I worry about this bit! let me know if you see anything weird]"。我没搬家前用的WordPress 2.0系列,插件都没升级到最新版,所以才没有遇到这个问题。
报了bug,或许等一段时间就有更新了。或者,我应该给所有文章都加上tag,这样也不会有问题。
软件总是会有bug的,无论大小。Windows最近被发现了一个.ani文件的漏洞,影响从Windows 2000到Windows Vista系统。[via]WordPress开发组里的都是大牛,但是WordPress自带的演示性插件Hello Dolly一样有小bug。所以,我们要习惯bug这种事情,就像蔡康永要习惯女人怀孕这种事一样。
WordPress 2.2开始内置了对tag支持,不知道UTW以后怎么办。不过,由于UTW是目前最流行的tag插件,所以WordPress 2.2里加入了一个从UTW中导入tag数据到WordPress核心的工具,对于UTW用户这是个好消息。看来,随大溜还是很必要的,另一个以前也很有名的tag插件Jerome’s Keywords的用户就没这么幸运咯。
on 2007.4.5
归类于 网页设计
550字
刚被肚破惊天提醒,今天是CSS Naked Day。按照网站的说明:"April 5th, simply remove all CSS from your website, stripping it entirely of its design."这项活动要求大家在4月5日这一天撤下网站的CSS文件,旨在宣传Web标准。
CSS对于一个网站的重要性,写Blog的人应该都清楚。K2的style都是一些CSS和图片文件,不同的style可以让K2呈现出完全不同的显示效果。最近我发现其他一些Blog平台的模板,全是一些CSS和图片文件,哪里配的上theme这个词,只能算是style。看过那些Blog平台,再看WordPress,唉,简直不是一个档次的。
依稀记得去年第一届CSS裸体日的时候我看到过关于这个活动的报道,当时刚把这个Blog架起来才几天,可惜我知道这个事的时候已经过了4月5日,所以也就没撤CSS。今年还好有肚破惊天的提醒,不然我又错过了。
我刚把Blog的CSS撤掉了。WordPress会通过检测模板目录下是否存在style.css来验证模板的正确性,所以直接将K2的style.css文件改名将会使Blog自动恢复默认模板。所以,我通过修改.htaccess文件,屏蔽掉对所有CSS文件的访问。嗯,裸奔的感觉还不错。