<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.hanguofeng.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/blackcat" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 12 Oct 2008 12:41:58 GMT</lastBuildDate><title>玄猫的窝</title><description>韩国峰的博客,关注Web技术与电子商务</description><image><url>http://www.feedsky.com/feed/blackcat/sc/gif</url><title>玄猫的窝</title><link>http://www.hanguofeng.cn</link></image><link>http://www.hanguofeng.cn</link><language>en</language><pubDate>Sun, 12 Oct 2008 12:53:08 GMT</pubDate><item><title>回忆当年在猫扑的故事</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254945/1224926/1/item.html</link><content:encoded>&lt;p&gt;写在猫扑即将到来的第11个生日……&lt;/p&gt;
&lt;p&gt;当年我上MOP的时候，是奔着国内排名前N的论坛，来学习国内前辈先进的管理理念来的，那时候的猫扑还是ASP的，那是一个ASP的时代，也不可避免的对我学ASP产生了深远的影响。今天在论坛上看到有人整理了猫扑大事记，并且从1997年那个游戏机论坛开始算起，猫扑的11岁生日就要到了，特撰此文，纪念猫扑和我曾经逝去的年轻。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-65&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;那时候的猫扑文化和人肉搜索&lt;/h2&gt;
&lt;p&gt;那时的猫扑，主旨还和现在不一样，那时的社区文化，还是一系列的跳跃思维的先进青年文化，出现的擦边内容虽然多，但不至于泛滥。那时候人肉搜索一词就已经开始流行于猫扑之上了，不过和现在的人肉搜索，完全不是指的同一个东西。那时，Google和百度还远不像现在这样发达，在网上找冷门的东西，往往很难找到，然而你可以出MP请人找，这就是猫扑上最早的人肉搜索，骑猫上网的我不惜浪费大量的电话费而乐衷此道，并且赚到了不少MP。还因此特别注册了个名为&amp;#8221;赏金猎人X&amp;#8221;的马甲。这个网名曾经用于让网友写信寄到学校，结果别人发信到班里，放在讲台上，我讪讪的上去拿，背后一片冷风，脑门三道竖线。想必百度知道的产品策划，也与此有关吧。&lt;/p&gt;
&lt;h2&gt;那时候的猫扑网络小说&lt;/h2&gt;
&lt;p&gt;猫扑对一个懵懂准文学青年产生了深远影响，当时著名的网络小说，何员外的几部作品，还有后来看了好多好多遍仍然看不腻的《猪和猫的爱情故事》，还有很多很多优秀的网络小说，都是在猫扑上看到的。那时候互联网不像现在这么泛滥，网络文学的水平还非常高，不像现在，随便忽悠点各网络游戏掺杂的同人，就可以在起点上捞一笔。呃，记得当时还有道具名为&amp;#8221;何员外签名书&amp;#8221;吧，不晓得现在还有没有了，就算有，几千MP一本，也不是实体的，看着都闹心。&lt;/p&gt;
&lt;h2&gt;那时候的MP&lt;/h2&gt;
&lt;p&gt;很荣耀的回忆起，那时候就有相当的经济头脑，从开始的做赏金猎人，到后来在某个特殊板块（好像叫什么什么交易版，比较隐藏的一个版块，早已不复存在了）倒卖带币Q号（是的，那个时候QQ卖出一些开通就含有5个Q币的号），在里面的大户那里批量买几十个，然后加一倍价钱零卖出去。后来又给上面一个网友做了一个企业站，赚了数以百万计的MP。最终巅峰时候累积到貌似是上千万的MP，又买大量的道具倒卖，可惜道具市场风云迭起，不说那时候，到如今，MP的概念和涵义已经和当时大相径庭了。还好我的MP早已挥霍于道具市场而不复得。&lt;/p&gt;
&lt;h2&gt;那时候的道具&lt;/h2&gt;
&lt;p&gt;玩道具，自然是有阴险目的的，利用火星飞碟、救生圈这样杀人灭口居家旅行必备的高科技作案工具，可当是推广网站的利器。刚查了下仅存的几条异动记录，在2004年的8月，救生圈的价格还是5799MP一个，到现在一看，最低价格竟然是713MP，可想而知人人都买得起的东西，应用效果就差到哪里去了。再看火星飞碟这样强烈有效的作案工具，在2004年的9月，还是54888MP一个，现在看，也就5000MP了，也贬值了近10倍。&lt;/p&gt;
&lt;h2&gt;那时候认识的猫扑人&lt;/h2&gt;
&lt;p&gt;请注意这里的人，是单数。在当时，偶然的机会，认识了一个猫扑高管，起源与我为了获得一个免费空间，用火星飞碟发布了数条引导信息，然后就有同样想得到那个空间的人找到我，问我怎么那么有效，然后又透露，自己是猫扑的高管，释放了N个飞碟都没有效果。几番纠缠之下，他还是没有给我透露自己的真实ID，只是说，经常和大熊、猫扑他们互相删帖玩，当时那个羡慕啊。如今，人海茫茫，这位老兄已经湮没在我的QQ好友列表中不复得了。&lt;/p&gt;
&lt;h2&gt;那时候的猫扑盈利&lt;/h2&gt;
&lt;p&gt;据上文的高管说，那时已经开始招揽各高管去上海（貌似是上海）上班，做专职管理员，发工资了。现在想想，已经记不清是在收购前还是收购后了。&lt;/p&gt;
&lt;h2&gt;收购，重拳之击&lt;/h2&gt;
&lt;p&gt;真是感觉到猫扑被收购，还是因为某天上猫扑，首页的一个FLASH，没有记错的话，应该是周杰伦的《我的地盘》，M-zone的广告。当我骑着猫发现页面卡了一分钟，然后出来大声的嘚啵嘚啵的声音，我彻底崩溃了。后来发现猫扑不是原来的猫扑了，被收购了，在接下来的日子里也发现内容有了相当的倾斜。嘚啵嘚啵事件应该是促使我离开猫扑的一个重要导火线。自此，挥霍完手里的MP，我离猫扑逐渐远去，从原来的每天上好几次，转变为每年上好几次……&lt;/p&gt;
&lt;h2&gt;That&amp;#8217;s All&lt;/h2&gt;
&lt;p&gt;作为一个有志于往市场、产品方向发展的IT小青年，不敢也无力评述千橡在收购猫扑后所做的市场行为，无论怎么说，他的确是找到了年轻网民的兴趣点和关注点所在，并且成功的运营了带有特殊文化的社区，这样的社区在运营上是绝对成功的。就像大多数自以为是的网民都骂腾讯无耻一样，谁再骂千橡旗下猫扑，都改变和重现不了他们建立起如此一种文化社区的成功。&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s All，Thanks。&lt;/p&gt;
&lt;h2&gt;P.S&lt;/h2&gt;
&lt;p&gt;MOP大事件：&lt;a href=&quot;http://dzh.mop.com/topic/readSub_8002607_0_0.html&quot;&gt;http://dzh.mop.com/topic/readSub_8002607_0_0.html&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;Random Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/missing-showgood&quot; title=&quot;从Showgood怀念起&quot;&gt;从Showgood怀念起&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/remember-2008-china-earthquake&quot; title=&quot;逝去就别怀念&quot;&gt;逝去就别怀念&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/travelling-fayua-temple&quot; title=&quot;北京法源寺游记&quot;&gt;北京法源寺游记&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/97130f6fae12cc4b9d52632b84f503fd&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/97130f6fae12cc4b9d52632b84f503fd/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=b097f5fe134983ed06815c9daaf8173d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=b097f5fe134983ed06815c9daaf8173d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=c3536db6d163f8ebf7c09736464f99ea&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=c3536db6d163f8ebf7c09736464f99ea&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8cc4b0b416aa2aa3cb8988e6f0a04eba&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8cc4b0b416aa2aa3cb8988e6f0a04eba&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/mop-in-memory/feed</wfw:commentRss><description>写在猫扑即将到来的第11个生日……
当年我上MOP的时候，是奔着国内排名前N的论坛，来学习国内前辈先进的管理理念来的，那时候的猫扑还是ASP的，那是一个ASP的时代，也不可避免的对我学ASP产生了深远的影响。今天在论坛上看到有人整理了猫扑大事记，并且从1997年那个游戏机论坛开始算起，猫扑的11岁生日就要到了，特撰此文，纪念猫扑和我曾经逝去的年轻。

那时候的猫扑文化和人肉搜索
那时的猫扑，主旨还和现在不一样，那时的社区文化，还是一系列的跳跃思维的先进青年文化，出现的擦边内容虽然多，但不至于泛滥。那时候人肉搜索一词就已经开始流行于猫扑之上了，不过和现在的人肉搜索，完全不是指的同一个东西。那时，Google和百度还远不像现在这样发达，在网上找冷门的东西，往往很难找到，然而你可以出MP请人找，这就是猫扑上最早的人肉搜索，骑猫上网的我不惜浪费大量的电话费而乐衷此道，并且赚到了不少MP。还因此特别注册了个名为&amp;#8221;赏金猎人X&amp;#8221;的马甲。这个网名曾经用于让网友写信寄到学校，结果别人发信到班里，放在讲台上，我讪讪的上去拿，背后一片冷风，脑门三道竖线。想必百度知道的产品策划，也与此有关吧。
那时候的猫扑网络小说
猫扑对一个懵懂准文学青年产生了深远影响，当时著名的网络小说，何员外的几部作品，还有后来看了好多好多遍仍然看不腻的《猪和猫的爱情故事》，还有很多很多优秀的网络小说，都是在猫扑上看到的。那时候互联网不像现在这么泛滥，网络文学的水平还非常高，不像现在，随便忽悠点各网络游戏掺杂的同人，就可以在起点上捞一笔。呃，记得当时还有道具名为&amp;#8221;何员外签名书&amp;#8221;吧，不晓得现在还有没有了，就算有，几千MP一本，也不是实体的，看着都闹心。
那时候的MP
很荣耀的回忆起，那时候就有相当的经济头脑，从开始的做赏金猎人，到后来在某个特殊板块（好像叫什么什么交易版，比较隐藏的一个版块，早已不复存在了）倒卖带币Q号（是的，那个时候QQ卖出一些开通就含有5个Q币的号），在里面的大户那里批量买几十个，然后加一倍价钱零卖出去。后来又给上面一个网友做了一个企业站，赚了数以百万计的MP。最终巅峰时候累积到貌似是上千万的MP，又买大量的道具倒卖，可惜道具市场风云迭起，不说那时候，到如今，MP的概念和涵义已经和当时大相径庭了。还好我的MP早已挥霍于道具市场而不复得。
那时候的道具
玩道具，自然是有阴险目的的，利用火星飞碟、救生圈这样杀人灭口居家旅行必备的高科技作案工具，可当是推广网站的利器。刚查了下仅存的几条异动记录，在2004年的8月，救生圈的价格还是5799MP一个，到现在一看，最低价格竟然是713MP，可想而知人人都买得起的东西，应用效果就差到哪里去了。再看火星飞碟这样强烈有效的作案工具，在2004年的9月，还是54888MP一个，现在看，也就5000MP了，也贬值了近10倍。
那时候认识的猫扑人
请注意这里的人，是单数。在当时，偶然的机会，认识了一个猫扑高管，起源与我为了获得一个免费空间，用火星飞碟发布了数条引导信息，然后就有同样想得到那个空间的人找到我，问我怎么那么有效，然后又透露，自己是猫扑的高管，释放了N个飞碟都没有效果。几番纠缠之下，他还是没有给我透露自己的真实ID，只是说，经常和大熊、猫扑他们互相删帖玩，当时那个羡慕啊。如今，人海茫茫，这位老兄已经湮没在我的QQ好友列表中不复得了。
那时候的猫扑盈利
据上文的高管说，那时已经开始招揽各高管去上海（貌似是上海）上班，做专职管理员，发工资了。现在想想，已经记不清是在收购前还是收购后了。
收购，重拳之击
真是感觉到猫扑被收购，还是因为某天上猫扑，首页的一个FLASH，没有记错的话，应该是周杰伦的《我的地盘》，M-zone的广告。当我骑着猫发现页面卡了一分钟，然后出来大声的嘚啵嘚啵的声音，我彻底崩溃了。后来发现猫扑不是原来的猫扑了，被收购了，在接下来的日子里也发现内容有了相当的倾斜。嘚啵嘚啵事件应该是促使我离开猫扑的一个重要导火线。自此，挥霍完手里的MP，我离猫扑逐渐远去，从原来的每天上好几次，转变为每年上好几次……
That&amp;#8217;s All
作为一个有志于往市场、产品方向发展的IT小青年，不敢也无力评述千橡在收购猫扑后所做的市场行为，无论怎么说，他的确是找到了年轻网民的兴趣点和关注点所在，并且成功的运营了带有特殊文化的社区，这样的社区在运营上是绝对成功的。就像大多数自以为是的网民都骂腾讯无耻一样，谁再骂千橡旗下猫扑，都改变和重现不了他们建立起如此一种文化社区的成功。
That&amp;#8217;s All，Thanks。
P.S
MOP大事件：http://dzh.mop.com/topic/readSub_8002607_0_0.html
Random Posts

[译文]Google AJAX Language API对象参考
逝去就别怀念
PHP串行化与JSON&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/97130f6fae12cc4b9d52632b84f503fd&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/97130f6fae12cc4b9d52632b84f503fd/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=b097f5fe134983ed06815c9daaf8173d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=b097f5fe134983ed06815c9daaf8173d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=c3536db6d163f8ebf7c09736464f99ea&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=c3536db6d163f8ebf7c09736464f99ea&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8cc4b0b416aa2aa3cb8988e6f0a04eba&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8cc4b0b416aa2aa3cb8988e6f0a04eba&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活感悟</category><category>回忆</category><category>猫扑</category><pubDate>Sun, 12 Oct 2008 20:41:58 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/mop-in-memory#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=65</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/mop-in-memory</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254945/1224926</fs:itemid></item><item><title>DreamWeaver CS4新特性之JavaScript</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254946/1224926/1/item.html</link><content:encoded>&lt;p&gt;据&lt;a href=&quot;http://soft.ccw.com.cn/news/htm2008/20080924_508101.shtml&quot;&gt;业界新闻&lt;/a&gt;称：&lt;/p&gt;
&lt;p&gt;2008年9月24日，北京-今天，Adobe 公司（Nasdaq：ADBE）宣布推出业界的里程碑产品&amp;#8211;Adobe® Creative Suite® 4产品家族。该产品能够应用于所有创意工作流，是业内领先的设计和开发软件。通过工作流的根本性突破，消除了设计师和开发工作者之间的壁垒。新的Creative Suite 4产品线包含数百个创新功能，全面推进了印刷、网络、移动、交互、影音视频制作的创意过程。该产品把整个产品线的Flash技术提升至整合力与表现力的新高水平，是Adobe迄今为止最大规模的软件版本，内容包括Adobe Creative Suite 4 Design editions、Creative Suite 4 Web editions、Creative Suite 4 Production Premium、Adobe Master Collection和13个基础产品、14项整合技术以及7种服务。&lt;span id=&quot;more-56&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;于是在官方&lt;a title=&quot;Dreamweaver CS4 官方下载&quot; href=&quot;http://trials.adobe.com/pub/esd/labs/dreamweaver/dreamweaver_b1_052708.exe&quot; target=&quot;_blank&quot;&gt;下载&lt;/a&gt;了DreamWeaver CS4的PreRelease版来测试，解压和安装没有什么太多要说的，只是感觉比早先的DreamWeaver CS3的安装速度要快了不少，安装完毕，发现界面与之前相比有了一定的改变，如图（上图为DreamWeaver CS3，下图为DreamWeaver CS4）：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/DGkfXhn5IolucrAZ6ljbVA&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/hanguofeng/SNzgbAptaRI/AAAAAAAAAU0/T_v7AFL5FP4/s400/dreamweaver_cs_3.png.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/JHLD_lQGhnLAq0Btrdavcw&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/hanguofeng/SNzghG8Kh3I/AAAAAAAAAU8/pVMq827aOik/s400/dreamweaver_cs_4.png.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;除了界面上的改变，该版本作为一个重要的里程碑版，还有许多更新，诸如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;针对 Ajax 和 JavaScript 框架的代码提示&lt;/li&gt;
&lt;li&gt;Adobe InContext Editing&lt;/li&gt;
&lt;li&gt;HTML 数据集&lt;/li&gt;
&lt;li&gt;Subversion® 集成&lt;/li&gt;
&lt;li&gt;CSS 最佳做法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等，更多可以查看&lt;a href=&quot;http://www.adobe.com/cn/products/dreamweaver/features/?view=topnew&quot;&gt;官方的fetures页&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;这里我主要给您介绍一下关于JavaScript的部分新特性。&lt;/p&gt;
&lt;h2&gt;一、JavaScript代码外链。&lt;/h2&gt;
&lt;p&gt;我们知道，出于种种目的考虑，我们一般不在页面直接撰写JavaScript代码，而是将其放在外部的js文件中，这样做的好处，除了便于管理整个站点的JavaScript之外，还有助于多多借助客户端对js文件的缓存，减少很少改变的js文件的网络传输流量的浪费。&lt;/p&gt;
&lt;p&gt;另外，出于多人协作和便于管理、便于敏捷变化和代码分层等原因，我们应该尽可能的做到结构-表现-行为的分离，在平常的代码编写中，你可能大量使用了诸如&lt;/p&gt;
&lt;div class=&quot;geshi no html&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;a onclick=&amp;quot;alert_me(&amp;#39;this is a link&amp;#39;)&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Click to alert me&amp;lt;/a&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;这样的代码，然而，这样做却是将行为耦合到了基本的代码结构中，我们提倡以添加事件的方式来将其完全分离到JavaScript代码中，这个操作也可以由DreamWeaver CS4来完成。&lt;/p&gt;
&lt;p&gt;在DreamWeaver CS4中，则为我们提供了此功能，这个功能你可以在【Commands】-&amp;gt;【Externalize JavaScript】中找到。&lt;/p&gt;
&lt;p&gt;为了测试这两项特性，我们撰写了如下的代码：&lt;/p&gt;
&lt;div class=&quot;geshi no html&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt; !DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;head&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;function alert_me(msg)
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;{
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;alert(msg);
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;}
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/script&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/head&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;body&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;alert_me(&amp;#39;this is a link&amp;#39;)&amp;quot;&amp;gt;Click to alert me&amp;lt;/a&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/body&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;你可以看到，在这段代码中，不仅在页面中出现了JavaScript函数，而且还将行为直接绑定在了HTML标签中，这时使用【Commands】-&amp;gt;【Externalize JavaScript】来打开DreamWeaver CS4为我们提供的工具，你可以看到，有两个选项，他们分别对应了只将页面中的JavaScript代码块分离为外部文件和与此同时分离HTML代码中的JavaScript，如图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/0ttpouJtbysyof37lfJUSg&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/hanguofeng/SNzgh1hz0xI/AAAAAAAAAVE/le9mjR3_KcY/s288/externalize_javascript_1.png.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/A9rn-Npk-wqHFrQZ66fusw&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/hanguofeng/SNzgic3wj2I/AAAAAAAAAVM/fW2zyn7K-jE/s288/externalize_javascript_2.png.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我们选择&amp;#8221;Externalize JavaScript and attach unobtrusively&amp;#8221;，即同时完成代码块和标签中代码的分离，命令执行完成后，页面的代码如下：&lt;/p&gt;
&lt;div class=&quot;geshi no html&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt; !DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;head&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;script src=&amp;quot;SpryAssets/SpryDOMUtils.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;script src=&amp;quot;Untitled-15.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/head&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;body&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;a href=&amp;quot;#&amp;quot; id=&amp;quot;a1&amp;quot;&amp;gt;Click to alert me&amp;lt;/a&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/body&amp;gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;这样，就自动化的完成了相应的工作。&lt;/p&gt;
&lt;h2&gt;二、JavaScript代码提示。&lt;/h2&gt;
&lt;p&gt;一直以来，开发JavaScript没有特别顺手的IDE，Aptana算是一款基于Ecplise的JavaScript开发工具，提供了代码高亮和代码提示功能，如今，DreamWeaver CS4也提供了此功能，当我们构建JavaScript内置对象时，它已经可以进行代码提示了，如图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/EbckQwZjWZDEV1zlqaOs0A&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/hanguofeng/SNzgpt5u5eI/AAAAAAAAAVc/IdzLfJapSw4/s400/javascript_hint.png.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;除此以外，DreamWeaver CS4 还提供了对代码错误的提示，当代码出现错误，将在窗口顶端有一个黄色的提示条，同时在代码左侧行号处标识，如图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/uoc6Nss9RQiSUzqt3B3CHg&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/hanguofeng/SNzgoEW33PI/AAAAAAAAAVU/hk71obsOxTo/s400/javascript_error.png.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;三、对第三方JavaScript库的支持。&lt;/h3&gt;
&lt;p&gt;上面提到的Aptana同时提供对多种JavaScript的第三方类库，如Prototype、jQuery、YUI、ExtJS等的支持，DreamWeaver CS4也同样提供了，我们首先引入一个Prototype库，然后通过输入new Ajax.，试图构建一个Ajax的应用，此时DreamWeave CS4给出了Ajax类成员方法的代码提示，如图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/GtwxCpXTtFKGFxxsz2XylQ&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/hanguofeng/SNzgrX-hHVI/AAAAAAAAAVk/rrL5oLmxd3Q/s400/javascript_lib.png.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-server/php-serialize-json&quot; title=&quot;PHP串行化与JSON&quot;&gt;PHP串行化与JSON&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/5f06baa2ec0e3e6d02918bbc3a5c7391&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/5f06baa2ec0e3e6d02918bbc3a5c7391/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ab8a5c47355b1faa6efb8910a9f5d4ca&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ab8a5c47355b1faa6efb8910a9f5d4ca&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=0331466dbf307231f41ba54c13fdd479&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=0331466dbf307231f41ba54c13fdd479&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=452ebeb4d77a49c5fbfcbebd9c9c067d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=452ebeb4d77a49c5fbfcbebd9c9c067d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript/feed</wfw:commentRss><description>据业界新闻称：
2008年9月24日，北京-今天，Adobe 公司（Nasdaq：ADBE）宣布推出业界的里程碑产品&amp;#8211;Adobe® Creative Suite® 4产品家族。该产品能够应用于所有创意工作流，是业内领先的设计和开发软件。通过工作流的根本性突破，消除了设计师和开发工作者之间的壁垒。新的Creative Suite 4产品线包含数百个创新功能，全面推进了印刷、网络、移动、交互、影音视频制作的创意过程。该产品把整个产品线的Flash技术提升至整合力与表现力的新高水平，是Adobe迄今为止最大规模的软件版本，内容包括Adobe Creative Suite 4 Design editions、Creative Suite 4 Web editions、Creative Suite 4 Production Premium、Adobe Master Collection和13个基础产品、14项整合技术以及7种服务。
于是在官方下载了DreamWeaver CS4的PreRelease版来测试，解压和安装没有什么太多要说的，只是感觉比早先的DreamWeaver CS3的安装速度要快了不少，安装完毕，发现界面与之前相比有了一定的改变，如图（上图为DreamWeaver CS3，下图为DreamWeaver CS4）：


除了界面上的改变，该版本作为一个重要的里程碑版，还有许多更新，诸如：

针对 Ajax 和 JavaScript 框架的代码提示
Adobe InContext Editing
HTML 数据集
Subversion® 集成
CSS 最佳做法

等，更多可以查看官方的fetures页。
这里我主要给您介绍一下关于JavaScript的部分新特性。
一、JavaScript代码外链。
我们知道，出于种种目的考虑，我们一般不在页面直接撰写JavaScript代码，而是将其放在外部的js文件中，这样做的好处，除了便于管理整个站点的JavaScript之外，还有助于多多借助客户端对js文件的缓存，减少很少改变的js文件的网络传输流量的浪费。
另外，出于多人协作和便于管理、便于敏捷变化和代码分层等原因，我们应该尽可能的做到结构-表现-行为的分离，在平常的代码编写中，你可能大量使用了诸如



&amp;#60;a onclick=&amp;#34;alert_me(&amp;#39;this is a link&amp;#39;)&amp;#34; href=&amp;#34;#&amp;#34;&amp;#62;Click to alert me&amp;#60;/a&amp;#62;



这样的代码，然而，这样做却是将行为耦合到了基本的代码结构中，我们提倡以添加事件的方式来将其完全分离到JavaScript代码中，这个操作也可以由DreamWeaver CS4来完成。
在DreamWeaver CS4中，则为我们提供了此功能，这个功能你可以在【Commands】-&amp;#62;【Externalize JavaScript】中找到。
为了测试这两项特性，我们撰写了如下的代码：



&amp;#60; !DOCTYPE html PUBLIC &amp;#34;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;#34; &amp;#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;#34;&amp;#62;



&amp;#60;html xmlns=&amp;#34;http://www.w3.org/1999/xhtml&amp;#34;&amp;#62;



&amp;#60;head&amp;#62;



&amp;#60;meta [...]&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/5f06baa2ec0e3e6d02918bbc3a5c7391&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/5f06baa2ec0e3e6d02918bbc3a5c7391/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ab8a5c47355b1faa6efb8910a9f5d4ca&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ab8a5c47355b1faa6efb8910a9f5d4ca&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=0331466dbf307231f41ba54c13fdd479&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=0331466dbf307231f41ba54c13fdd479&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=452ebeb4d77a49c5fbfcbebd9c9c067d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=452ebeb4d77a49c5fbfcbebd9c9c067d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Dreamweaver</category><category>Web客户端技术</category><category>JavaScript</category><pubDate>Fri, 26 Sep 2008 21:53:24 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=56</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254946/1224926</fs:itemid></item><item><title>北京法源寺游记</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254947/1224926/1/item.html</link><content:encoded>&lt;p&gt;同很多人一样，我神往法源寺也是因为李敖先生的《北京法源寺》。&lt;/p&gt;
&lt;p&gt;近日来工作颇为繁忙，周末不加班便是新鲜事，更不必提每日晚上了，周四第二次通宵加班了，不过还好，勉强也承受得住。周六在家睡了一天，下午睡觉竟然还做了噩梦，鬼压床般，又强迫自己醒来，迷茫间便决定周日出去四处逛下，开始时候的目标是玉渊潭，后来想想，便又改变主意，想自己遍览下京城的古庙名刹，第一站便是北京法源寺了。&lt;br /&gt;
&lt;span id=&quot;more-48&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;游法源寺&lt;/h2&gt;
&lt;p&gt;早晨10点醒来，查了路线，又净身换衣&amp;#8211;朝拜总是要虔诚的，加之周五、六二日均为食肉，便觉准备就绪，十二点正式出发了。奔波着坐车、询路，到达法源寺已是一点有余。今天天气不是很好，阴霾的厚云覆盖了整个天空，于我看来却是朝拜的最好时机，寂寥的古寺中，参天大树林立，掺杂着鸟鸣，让我找到了久违的宁静。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/gVwmLi1Lum2rYOj9Vp_ZEw?authkey=G36_j7ScOvw&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/hanguofeng/SNYkr7hIKUI/AAAAAAAAAS4/lA1UAGYi1js/s400/200809211316_326.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;法源寺坐落于宣武区的法源寺前街七号，与坐落于山上的古刹来比，占地并不大，分为天王殿、大雄宝殿、闵忠阁、毗卢殿、观音殿和卧佛殿六座宝殿，不仅是北京现存历史最久的古刹，更是中国佛学院的所在。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/qu2sFIfWdZffCO21MchqfQ?authkey=G36_j7ScOvw&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/hanguofeng/SNYkxa7PzoI/AAAAAAAAATA/p5ltu7RYY5M/s400/200809211317_327.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;请香、焚香、跪拜，内心得到了前所未有的涤荡，却有一种感动的想哭的冲动，于丁香树下漫步，静心把墙上的佛语摄于心中。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/oEqD5ja7vVksYveKfpr_4Q?authkey=G36_j7ScOvw&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/hanguofeng/SNYk67EM1QI/AAAAAAAAATI/L9f7lB2Xkg0/s400/200809211406_328.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;很抱歉的，由于不熟悉佛教礼仪，多处不敬怠慢，罪过罪过。&lt;/p&gt;
&lt;h2&gt;关于信仰&lt;/h2&gt;
&lt;p&gt;每个人都需要哲学，大多数人，都需要信仰，正是信仰的缺失让我们道德沦丧。法律与道德的尺度相隔太远，片面崇尚实用经济又让我们急功近利而抛弃道德的尺度。信仰，便是此处的调节阀，它处于法律之下，道德之上，同时，信仰给人们心理的滋润真的如一泓清泉注入沙漠。&lt;/p&gt;
&lt;h2&gt;程序员的禅意&lt;/h2&gt;
&lt;p&gt;在编码前的需求是要抽象的，解决一个问题，并非只为解决这个问题，而是为了解决这种问题而派生出一种你核心编程哲学中的通用方法。将虚妄的外表除去，才能看到问题的真谛。&lt;/p&gt;
&lt;p&gt;学编程也是一样，任何语言都无法脱离在某个环境中运行的命运，任何语言都不能没有算法的骨肉，任何语言在创建之初都离不开数学和哲学，得道者海纳其中的思想，无为者碌碌无为追逐形形色色的语言。&lt;br /&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/beyond-summer&quot; title=&quot;Beyond summer&quot;&gt;Beyond summer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing&quot; title=&quot;北京 仲夏夜之梦&quot;&gt;北京 仲夏夜之梦&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/150953c91cc81401b7f0d451159a0788&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/150953c91cc81401b7f0d451159a0788/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ae56c594da03706945edd73b49aaeaa4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ae56c594da03706945edd73b49aaeaa4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=955966b5d7121dfa815b436978b7f77f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=955966b5d7121dfa815b436978b7f77f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=d3ffadc5af9f0f48d0b9c38bb1c60f78&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=d3ffadc5af9f0f48d0b9c38bb1c60f78&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/travelling-fayua-temple/feed</wfw:commentRss><description>同很多人一样，我神往法源寺也是因为李敖先生的《北京法源寺》。
近日来工作颇为繁忙，周末不加班便是新鲜事，更不必提每日晚上了，周四第二次通宵加班了，不过还好，勉强也承受得住。周六在家睡了一天，下午睡觉竟然还做了噩梦，鬼压床般，又强迫自己醒来，迷茫间便决定周日出去四处逛下，开始时候的目标是玉渊潭，后来想想，便又改变主意，想自己遍览下京城的古庙名刹，第一站便是北京法源寺了。

游法源寺
早晨10点醒来，查了路线，又净身换衣&amp;#8211;朝拜总是要虔诚的，加之周五、六二日均为食肉，便觉准备就绪，十二点正式出发了。奔波着坐车、询路，到达法源寺已是一点有余。今天天气不是很好，阴霾的厚云覆盖了整个天空，于我看来却是朝拜的最好时机，寂寥的古寺中，参天大树林立，掺杂着鸟鸣，让我找到了久违的宁静。

法源寺坐落于宣武区的法源寺前街七号，与坐落于山上的古刹来比，占地并不大，分为天王殿、大雄宝殿、闵忠阁、毗卢殿、观音殿和卧佛殿六座宝殿，不仅是北京现存历史最久的古刹，更是中国佛学院的所在。

请香、焚香、跪拜，内心得到了前所未有的涤荡，却有一种感动的想哭的冲动，于丁香树下漫步，静心把墙上的佛语摄于心中。

很抱歉的，由于不熟悉佛教礼仪，多处不敬怠慢，罪过罪过。
关于信仰
每个人都需要哲学，大多数人，都需要信仰，正是信仰的缺失让我们道德沦丧。法律与道德的尺度相隔太远，片面崇尚实用经济又让我们急功近利而抛弃道德的尺度。信仰，便是此处的调节阀，它处于法律之下，道德之上，同时，信仰给人们心理的滋润真的如一泓清泉注入沙漠。
程序员的禅意
在编码前的需求是要抽象的，解决一个问题，并非只为解决这个问题，而是为了解决这种问题而派生出一种你核心编程哲学中的通用方法。将虚妄的外表除去，才能看到问题的真谛。
学编程也是一样，任何语言都无法脱离在某个环境中运行的命运，任何语言都不能没有算法的骨肉，任何语言在创建之初都离不开数学和哲学，得道者海纳其中的思想，无为者碌碌无为追逐形形色色的语言。
相关内容

Beyond summer
北京 仲夏夜之梦&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/150953c91cc81401b7f0d451159a0788&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/150953c91cc81401b7f0d451159a0788/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ae56c594da03706945edd73b49aaeaa4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ae56c594da03706945edd73b49aaeaa4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=955966b5d7121dfa815b436978b7f77f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=955966b5d7121dfa815b436978b7f77f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=d3ffadc5af9f0f48d0b9c38bb1c60f78&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=d3ffadc5af9f0f48d0b9c38bb1c60f78&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活感悟</category><category>北京</category><category>京城朝寺</category><pubDate>Sun, 21 Sep 2008 19:31:15 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/travelling-fayua-temple#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=48</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/travelling-fayua-temple</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254947/1224926</fs:itemid></item><item><title>EMAIL到你的Web程序–有趣的Email2HTTP</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254948/1224926/1/item.html</link><content:encoded>&lt;p&gt;大家一定都体验过通过Email使用Web程序吧，什么？你还没有？那么一定是你不记得了。&lt;/p&gt;
&lt;p&gt;Flickr可以通过Email上传文件，Google Doc可以通过Email发送文件到指定收件箱从而完成文档的转换，这些都是通过Email使用Web的例子，如果这些你都没有试用过，那么你也许用到过彩信发表照片吧，在饭否、叽歪这样的微博客网站，都是对用户体验很好的例子。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-30&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;上面所说的这些，在Web服务器端都是通过对Email读取来完成的，那么设想，提供这样一个特色服务，就需要搭建一个邮件服务器来收取邮件，对于大多数程序员和个人站长来说，都是一个门槛很高的操作，而现在，有了Email2HTTP，你完全不用担心了。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.email2http.com/&quot;&gt;Email2HTTP&lt;/a&gt;正式这样一个服务的提供商：它为你提供了一个可以接收邮件并将邮件内容以HTTP协议POST到你指定的CallBack地址，让你给你的网站加上这些有趣功能的服务。&lt;/p&gt;
&lt;p&gt;如下是Email2HTTP官方给出的一段读取邮件的代码，他接受Email2HTTP服务器转发来的请求，保存其中的文件，并输出邮件内容。&lt;/p&gt;
&lt;p&gt; &lt;code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a href='http://snipplr.com/view/8368/email2http'&gt;Email2HTTP&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;small&gt;Posted by &lt;a href='http://snipplr.com/users/hanguofeng'&gt;hanguofeng&lt;/a&gt; on September 12th, 2008&lt;/small&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class='code' style='border: 1px dotted; overflow: auto; white-space:nowrap;'&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Save each attachment from the message to disk&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$_FILES&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$attachment&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/move_uploaded_file&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;move_uploaded_file&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$attachment&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;tmpname&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;,&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;../files/&amp;quot;&lt;/span&gt; . &lt;span style=&quot;color: #0000ff;&quot;&gt;$attachment&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Send a reply back to the sender by email&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// by simply producing some output&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$numberOfFiles&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/sizeof&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;sizeof&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$_FILES&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Thank you, my friend.&amp;nbsp; I have received your &amp;quot;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;color: #0000ff;&quot;&gt;$numberOfFiles&lt;/span&gt; . &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; files.&amp;quot;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\r&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\r&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;---Original message---&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\r&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;color: #0000ff;&quot;&gt;$_POST&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;body&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;&lt;/code&gt;&lt;br /&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/beyond-summer&quot; title=&quot;Beyond summer&quot;&gt;Beyond summer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-server/php-serialize-json&quot; title=&quot;PHP串行化与JSON&quot;&gt;PHP串行化与JSON&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/c22e5976de562454ebc1722d35d89950&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/c22e5976de562454ebc1722d35d89950/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=af27fc0819cb8797a91cda586e8ff1eb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=af27fc0819cb8797a91cda586e8ff1eb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=bc9f9cc917ad34a1f6bbfbb71ab20a6f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=bc9f9cc917ad34a1f6bbfbb71ab20a6f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=26104bd90e249b01ff78c4acd16eb6c0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=26104bd90e249b01ff78c4acd16eb6c0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/web-server/email2http/feed</wfw:commentRss><description>大家一定都体验过通过Email使用Web程序吧，什么？你还没有？那么一定是你不记得了。
Flickr可以通过Email上传文件，Google Doc可以通过Email发送文件到指定收件箱从而完成文档的转换，这些都是通过Email使用Web的例子，如果这些你都没有试用过，那么你也许用到过彩信发表照片吧，在饭否、叽歪这样的微博客网站，都是对用户体验很好的例子。

上面所说的这些，在Web服务器端都是通过对Email读取来完成的，那么设想，提供这样一个特色服务，就需要搭建一个邮件服务器来收取邮件，对于大多数程序员和个人站长来说，都是一个门槛很高的操作，而现在，有了Email2HTTP，你完全不用担心了。
Email2HTTP正式这样一个服务的提供商：它为你提供了一个可以接收邮件并将邮件内容以HTTP协议POST到你指定的CallBack地址，让你给你的网站加上这些有趣功能的服务。
如下是Email2HTTP官方给出的一段读取邮件的代码，他接受Email2HTTP服务器转发来的请求，保存其中的文件，并输出邮件内容。
 Email2HTTPPosted by hanguofeng on September 12th, 2008&amp;#60;?php&amp;#160; &amp;#160;
&amp;#160; 
// Save each attachment from the message to disk&amp;#160; &amp;#160;
foreach &amp;#40;$_FILES as $attachment&amp;#41;&amp;#160; &amp;#160;
&amp;#123;&amp;#160; &amp;#160;
&amp;#160; &amp;#160; move_uploaded_file&amp;#40;$attachment&amp;#91;&amp;#34;tmpname&amp;#34;&amp;#93;,&amp;#160; &amp;#160;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#34;../files/&amp;#34; . $attachment&amp;#91;&amp;#34;name&amp;#34;&amp;#93;&amp;#41;;&amp;#160; &amp;#160;
&amp;#125;&amp;#160; &amp;#160;
&amp;#160; 
// Send a reply back to the sender by email&amp;#160; &amp;#160;
// by simply producing some output&amp;#160; &amp;#160;
$numberOfFiles = sizeof&amp;#40;$_FILES&amp;#41;;&amp;#160; &amp;#160;
echo [...]&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/c22e5976de562454ebc1722d35d89950&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/c22e5976de562454ebc1722d35d89950/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=af27fc0819cb8797a91cda586e8ff1eb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=af27fc0819cb8797a91cda586e8ff1eb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=bc9f9cc917ad34a1f6bbfbb71ab20a6f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=bc9f9cc917ad34a1f6bbfbb71ab20a6f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=26104bd90e249b01ff78c4acd16eb6c0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=26104bd90e249b01ff78c4acd16eb6c0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Web服务器端技术</category><category>email</category><category>web</category><category>PHP</category><pubDate>Fri, 12 Sep 2008 22:27:51 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/web-server/email2http#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=30</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/web-server/email2http</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254948/1224926</fs:itemid></item><item><title>始于九月</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254949/1224926/1/item.html</link><content:encoded>&lt;p&gt;又到了九月，终于、终归、终究回到了学校，虽然只待了不到24个小时又折返回来，但是最终我还是在开学的时候到了学校。&lt;span id=&quot;more-28&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;学校里面熙熙攘攘，大包小包的新生和家长覆盖了整个学校，觉得挺闹的……想想三年前，大片大片的草皮如今拔地而起……呃，不是草拔地而起啊。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/hanguofeng/SLq0GCW7irI/AAAAAAAAAPo/f5KA1IEBaIE/s400/200808311136_305.jpg&quot;&gt;&lt;img class=&quot;alignnone&quot; src=&quot;http://lh6.ggpht.com/hanguofeng/SLq0GCW7irI/AAAAAAAAAPo/f5KA1IEBaIE/s400/200808311136_305.jpg&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;回到宿舍，外&lt;a href=&quot;http://lh6.ggpht.com/hanguofeng/SLq0GCW7irI/AAAAAAAAAPo/f5KA1IEBaIE/s400/200808311136_305.jpg&quot;&gt;&lt;/a&gt;面住的Rocky友情提供了葡萄一饭盆，恩，突然想起三年前，新宇来的时候，也是带了葡萄，不过是一饭盒，难道三年的大学，只是让我们把饭盒变成了饭盆？&lt;/p&gt;
&lt;p&gt;和小猪一起回北京，有人很不厚道的从后门上930，我也随后而上，没想到后门突然关了，于是差点，差点，如果我的头再早伸进去一秒钟，你们就可以看到燕郊无头男尸了……恩，头在车里顺便回到北京了……&lt;br /&gt;
&lt;h3&gt;Random Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/remember-2008-china-earthquake&quot; title=&quot;逝去就别怀念&quot;&gt;逝去就别怀念&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript&quot; title=&quot;DreamWeaver CS4新特性之JavaScript&quot;&gt;DreamWeaver CS4新特性之JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing&quot; title=&quot;北京 仲夏夜之梦&quot;&gt;北京 仲夏夜之梦&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/410831608601738ae178f51783ad6234&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/410831608601738ae178f51783ad6234/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=61d0d5a366a7ec0a508193e509a66a5e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=61d0d5a366a7ec0a508193e509a66a5e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=e8868732f7edc3d3eb362cea750c6687&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=e8868732f7edc3d3eb362cea750c6687&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=b069074fc40a48fe556dfe2184e0435e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=b069074fc40a48fe556dfe2184e0435e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/begining-at-september/feed</wfw:commentRss><description>又到了九月，终于、终归、终究回到了学校，虽然只待了不到24个小时又折返回来，但是最终我还是在开学的时候到了学校。
学校里面熙熙攘攘，大包小包的新生和家长覆盖了整个学校，觉得挺闹的……想想三年前，大片大片的草皮如今拔地而起……呃，不是草拔地而起啊。

回到宿舍，外面住的Rocky友情提供了葡萄一饭盆，恩，突然想起三年前，新宇来的时候，也是带了葡萄，不过是一饭盒，难道三年的大学，只是让我们把饭盒变成了饭盆？
和小猪一起回北京，有人很不厚道的从后门上930，我也随后而上，没想到后门突然关了，于是差点，差点，如果我的头再早伸进去一秒钟，你们就可以看到燕郊无头男尸了……恩，头在车里顺便回到北京了……
Random Posts

[译文]Google AJAX Language API开发者参考
[译文]WordPress插件API手册
[译文]Google AJAX Language API对象参考&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/410831608601738ae178f51783ad6234&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/410831608601738ae178f51783ad6234/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=61d0d5a366a7ec0a508193e509a66a5e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=61d0d5a366a7ec0a508193e509a66a5e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=e8868732f7edc3d3eb362cea750c6687&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=e8868732f7edc3d3eb362cea750c6687&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=b069074fc40a48fe556dfe2184e0435e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=b069074fc40a48fe556dfe2184e0435e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>930</category><category>北方学院</category><category>生活感悟</category><pubDate>Sun, 31 Aug 2008 23:13:39 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/begining-at-september#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=28</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/begining-at-september</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254949/1224926</fs:itemid></item><item><title>Beyond summer</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254950/1224926/1/item.html</link><content:encoded>&lt;p&gt;在ChinaPub工作一个月了，特意上来写点什么，记录和汇报一下。&lt;span id=&quot;more-23&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;前两天装上了Ubuntu，用wubi装的，原因是我实在没有足够的硬盘空间再分给Ubuntu了，当然也没有胆量尝试下从来没有熟练做过的Ubuntu分区。其实接触Linux系统也不晚，记得还在高二的时候就费劲八叱的在家里的电脑上装Redhat了，三张盘，对，这还是受了老牛的影响，那大哥买了个“正版”的Redhat。后来又找外教Marian借了正版的说明书来看。&lt;/p&gt;
&lt;p&gt;Marian是一个很有趣的胖女孩，多胖呢，顶我一个半吧，她和我们讲，I use Linux because it&amp;#8217;s free!，她讲课的时候还一边在电脑上打出自己说得话，用投影放出来，生怕我们听不懂，很周到，人家的打字速度，那真叫一个快啊，呵呵，扯远了。&lt;/p&gt;
&lt;p&gt;LinuxQQ实在不如想象中的好用，虽然比得Pidgin来说，它的确很QQ，但是不能发图不能发文件，连自定义表情也发不了，这的确有点恶心，还是不是的卡死Linux，OMG。&lt;/p&gt;
&lt;p&gt;现在一个人在做“期望负载量很大”的站点，架构，编码，数据库设计，还有JS，有些吃力了，用ThinkPHP框架，还好，算是减轻了不少的工作量，现在倒是很好奇林老师的CoffeePHP了，做B/S系统的PHP框架，呵呵。&lt;/p&gt;
&lt;p&gt;最后学小女生，附图一张&lt;br /&gt;
&lt;a href=&quot;http://picasaweb.google.com/hanguofeng/TShirts/photo?authkey=yqmYoJbh_VY#5234392214377902546&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/hanguofeng/SKRL_GkQsdI/AAAAAAAAAOU/pac-Rr6Sih8/s400/IMG_2450.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/travelling-fayua-temple&quot; title=&quot;北京法源寺游记&quot;&gt;北京法源寺游记&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-server/email2http&quot; title=&quot;EMAIL到你的Web程序&amp;#8211;有趣的Email2HTTP&quot;&gt;EMAIL到你的Web程序&amp;#8211;有趣的Email2HTTP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing&quot; title=&quot;北京 仲夏夜之梦&quot;&gt;北京 仲夏夜之梦&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/1684102886fc3a1f9116c52be922d6d3&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/1684102886fc3a1f9116c52be922d6d3/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=cf5c138bc9976e5cb99bb3d4d6158fc8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=cf5c138bc9976e5cb99bb3d4d6158fc8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=d4cbd38c50a01b2f2bcf42a8ee87e11f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=d4cbd38c50a01b2f2bcf42a8ee87e11f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ca2347650db3f2c5f49c7711b862a1b0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ca2347650db3f2c5f49c7711b862a1b0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/beyond-summer/feed</wfw:commentRss><description>在ChinaPub工作一个月了，特意上来写点什么，记录和汇报一下。
前两天装上了Ubuntu，用wubi装的，原因是我实在没有足够的硬盘空间再分给Ubuntu了，当然也没有胆量尝试下从来没有熟练做过的Ubuntu分区。其实接触Linux系统也不晚，记得还在高二的时候就费劲八叱的在家里的电脑上装Redhat了，三张盘，对，这还是受了老牛的影响，那大哥买了个“正版”的Redhat。后来又找外教Marian借了正版的说明书来看。
Marian是一个很有趣的胖女孩，多胖呢，顶我一个半吧，她和我们讲，I use Linux because it&amp;#8217;s free!，她讲课的时候还一边在电脑上打出自己说得话，用投影放出来，生怕我们听不懂，很周到，人家的打字速度，那真叫一个快啊，呵呵，扯远了。
LinuxQQ实在不如想象中的好用，虽然比得Pidgin来说，它的确很QQ，但是不能发图不能发文件，连自定义表情也发不了，这的确有点恶心，还是不是的卡死Linux，OMG。
现在一个人在做“期望负载量很大”的站点，架构，编码，数据库设计，还有JS，有些吃力了，用ThinkPHP框架，还好，算是减轻了不少的工作量，现在倒是很好奇林老师的CoffeePHP了，做B/S系统的PHP框架，呵呵。
最后学小女生，附图一张

相关内容

北京法源寺游记
EMAIL到你的Web程序&amp;#8211;有趣的Email2HTTP
北京 仲夏夜之梦&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/1684102886fc3a1f9116c52be922d6d3&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/1684102886fc3a1f9116c52be922d6d3/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=cf5c138bc9976e5cb99bb3d4d6158fc8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=cf5c138bc9976e5cb99bb3d4d6158fc8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=d4cbd38c50a01b2f2bcf42a8ee87e11f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=d4cbd38c50a01b2f2bcf42a8ee87e11f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=ca2347650db3f2c5f49c7711b862a1b0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=ca2347650db3f2c5f49c7711b862a1b0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Ubuntu</category><category>生活感悟</category><category>ChinaPub</category><category>北京</category><category>PHP</category><pubDate>Thu, 14 Aug 2008 23:17:27 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/beyond-summer#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=23</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/beyond-summer</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254950/1224926</fs:itemid></item><item><title>北京 仲夏夜之梦</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254951/1224926/1/item.html</link><content:encoded>&lt;p&gt;记得我曾提过，我是夏至那天生的。&lt;span id=&quot;more-22&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;曾经是否想过，会在这个时候，在北京度过这样一个夏天呢？我不知道，也许在梦中有过吧，这也许正是小的时候所向往的生活。When I was very very young，一部《我的九月》构成了我对北京，这个矛盾于古典和现代之间的城市的全部印象。四合院、朝阳下的鸽子、晨练的人们，在紧张的筹备中过着自己的生活。说起来的确有些有趣，那部电影反映的是亚运会的事情，而现在，却是奥运会的事情。&lt;/p&gt;
&lt;p&gt;其实，在北京&amp;#8221;工作&amp;#8221;已经有一段时间了，可能很多朋友还不知道，在五月的时候，我就已经半进京了，在一家名为天行网安的网络安全公司做兼职。工作内容却实在是有些出人意料：圈子里的朋友到了网络安全公司，或者所谓的&amp;#8221;甲方公司&amp;#8221;，做的都是网络安全方面的工作吧，而我呢，做的不能说不是网络安全方面的工作，呵呵，我的工作竟然是做界面开发，简而言之，用我给泡泡同学的解释，就是做&amp;#8221;你用路由器的时候，打开 &lt;a href=&quot;http://192.168.1.1&quot;&gt;http://192.168.1.1&lt;/a&gt;，看到的那个东西&amp;#8221;。歪打歪着吧，在我到公司面试前还不知道这家公司竟然是做网络安全的，呵呵，否则我会直接放弃吗？也许吧。做了一个多月的PHP+JS的界面开发。这份工作对我来说，意义非常，这不仅是我第一份实际的工作，而且，（呵呵，你会相信吗），在到公司之前，我还基本没有怎么做过PHP开发。一个多月的时间，从原来的ASP平台到PHP平台，基本也没有什么不适，所以在现在的公司要开发新项目的时候，我毫无疑问的选择了LAMP平台。这里无意讨论那个Monthly的问题，只是说，如果让我一个人开发一个东西，我肯定选择PHP而非.Net了，当然，给充足时间的情况除外。&lt;/p&gt;
&lt;p&gt;恩，上面已经提到&amp;#8221;新公司&amp;#8221;这个词，你也许会看出，我跳槽了。对于跳槽这件事情，我始终有着很多抱歉，滕总说，&amp;#8221;国峰，年轻人想法随时会变我不怪你，可是以后一定要考虑给公司带来的影响&amp;#8221;。为了这句话，我坚持在这个公司多待了一个月，到18号，希望能够善终吧。&lt;/p&gt;
&lt;p&gt;在新公司，自然是做全职了，这就要求，必须在北京住下，于是不得不花1000块一个月在西三环这个地方租下一个陋室，住在陋室的第一天，孤单像洪水般涌来，稍后我的伙伴&amp;#8211;大量的蚊子就来陪伴我了，囧rz。&lt;/p&gt;
&lt;p&gt;新公司的技术方面，人家全用.Net/ASP，我这突然冒出个PHP的系统来，不知道大家会不会很囧，不过其实长远来讲，高访问量的站点，尤其涉及到Social、Service这些方面，日后肯定要做集群，做集群的话，用Win的系统，成本会不会高了点，服务器上不敢用盗版吧，呵呵。&lt;/p&gt;
&lt;p&gt;Rocky和Iron同学在燕郊花1000租了一个很好很强大的房子，俩人开始了他们的Java之梦，希望所谓的计算机世界大学不会让他们失望。&lt;/p&gt;
&lt;p&gt;今天陈冰老师发来消息说，我的书明天开始排版了，呵呵，这本历时一年多的书终于要面世了，也希望你和我一起期待。不出意外，这应该是我ASP生涯的一个靠近终结点的里程碑了。&lt;!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com --&gt;&lt;br /&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/travelling-fayua-temple&quot; title=&quot;北京法源寺游记&quot;&gt;北京法源寺游记&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/beyond-summer&quot; title=&quot;Beyond summer&quot;&gt;Beyond summer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/b4f2f3abd74fc05ac3ee64289d2d690b&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/b4f2f3abd74fc05ac3ee64289d2d690b/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=43c6214f2bc1c9333893a6aff7fd91dd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=43c6214f2bc1c9333893a6aff7fd91dd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8ab8b5238c86fcb4473fee27b1441470&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8ab8b5238c86fcb4473fee27b1441470&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=975e57d476b604334777db697a793dbc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=975e57d476b604334777db697a793dbc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing/feed</wfw:commentRss><description>记得我曾提过，我是夏至那天生的。
曾经是否想过，会在这个时候，在北京度过这样一个夏天呢？我不知道，也许在梦中有过吧，这也许正是小的时候所向往的生活。When I was very very young，一部《我的九月》构成了我对北京，这个矛盾于古典和现代之间的城市的全部印象。四合院、朝阳下的鸽子、晨练的人们，在紧张的筹备中过着自己的生活。说起来的确有些有趣，那部电影反映的是亚运会的事情，而现在，却是奥运会的事情。
其实，在北京&amp;#8221;工作&amp;#8221;已经有一段时间了，可能很多朋友还不知道，在五月的时候，我就已经半进京了，在一家名为天行网安的网络安全公司做兼职。工作内容却实在是有些出人意料：圈子里的朋友到了网络安全公司，或者所谓的&amp;#8221;甲方公司&amp;#8221;，做的都是网络安全方面的工作吧，而我呢，做的不能说不是网络安全方面的工作，呵呵，我的工作竟然是做界面开发，简而言之，用我给泡泡同学的解释，就是做&amp;#8221;你用路由器的时候，打开 http://192.168.1.1，看到的那个东西&amp;#8221;。歪打歪着吧，在我到公司面试前还不知道这家公司竟然是做网络安全的，呵呵，否则我会直接放弃吗？也许吧。做了一个多月的PHP+JS的界面开发。这份工作对我来说，意义非常，这不仅是我第一份实际的工作，而且，（呵呵，你会相信吗），在到公司之前，我还基本没有怎么做过PHP开发。一个多月的时间，从原来的ASP平台到PHP平台，基本也没有什么不适，所以在现在的公司要开发新项目的时候，我毫无疑问的选择了LAMP平台。这里无意讨论那个Monthly的问题，只是说，如果让我一个人开发一个东西，我肯定选择PHP而非.Net了，当然，给充足时间的情况除外。
恩，上面已经提到&amp;#8221;新公司&amp;#8221;这个词，你也许会看出，我跳槽了。对于跳槽这件事情，我始终有着很多抱歉，滕总说，&amp;#8221;国峰，年轻人想法随时会变我不怪你，可是以后一定要考虑给公司带来的影响&amp;#8221;。为了这句话，我坚持在这个公司多待了一个月，到18号，希望能够善终吧。
在新公司，自然是做全职了，这就要求，必须在北京住下，于是不得不花1000块一个月在西三环这个地方租下一个陋室，住在陋室的第一天，孤单像洪水般涌来，稍后我的伙伴&amp;#8211;大量的蚊子就来陪伴我了，囧rz。
新公司的技术方面，人家全用.Net/ASP，我这突然冒出个PHP的系统来，不知道大家会不会很囧，不过其实长远来讲，高访问量的站点，尤其涉及到Social、Service这些方面，日后肯定要做集群，做集群的话，用Win的系统，成本会不会高了点，服务器上不敢用盗版吧，呵呵。
Rocky和Iron同学在燕郊花1000租了一个很好很强大的房子，俩人开始了他们的Java之梦，希望所谓的计算机世界大学不会让他们失望。
今天陈冰老师发来消息说，我的书明天开始排版了，呵呵，这本历时一年多的书终于要面世了，也希望你和我一起期待。不出意外，这应该是我ASP生涯的一个靠近终结点的里程碑了。
相关内容

北京法源寺游记
Beyond summer&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/b4f2f3abd74fc05ac3ee64289d2d690b&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/b4f2f3abd74fc05ac3ee64289d2d690b/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=43c6214f2bc1c9333893a6aff7fd91dd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=43c6214f2bc1c9333893a6aff7fd91dd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8ab8b5238c86fcb4473fee27b1441470&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8ab8b5238c86fcb4473fee27b1441470&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=975e57d476b604334777db697a793dbc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=975e57d476b604334777db697a793dbc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活感悟</category><category>北京</category><category>夏天</category><pubDate>Sat, 12 Jul 2008 13:04:28 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/summer-vacation-in-beijing</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254951/1224926</fs:itemid></item><item><title>生日快乐</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254952/1224926/1/item.html</link><content:encoded>&lt;p&gt;22号的生日，22岁的生日，只有一次。&lt;/p&gt;
&lt;p&gt;谢谢各位的祝福，尤其谢谢“您”的蛋糕、钱包还有排骨，很开心的生日，因为好像很多年生日没有家人以外的人给我这样过了，也很多年没有吃生日蛋糕了。&lt;/p&gt;
&lt;p&gt;22岁了，一个人，16岁、18岁、22岁的生日那天，他想的东西是否会一样呢，呵呵。&lt;/p&gt;
&lt;p&gt;16岁的时候，我们在经历那场人生第一次重要的考试后，享受阳光点点的暑假。&lt;br /&gt;
18岁的时候，那个成人礼之后的灌水本，在我们的手里和心里开始流传。&lt;br /&gt;
22岁的时候，我站在学校和公司之间的交叉路口，茫然四顾。&lt;/p&gt;
&lt;p&gt;时光荏苒。朋友们，希望下次生日我们能在一起。&lt;/p&gt;
&lt;h3&gt;Random Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/beyond-summer&quot; title=&quot;Beyond summer&quot;&gt;Beyond summer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/uncategorized/2008-spring-festival&quot; title=&quot;祝大家戊子年新春大吉，万事如意&quot;&gt;祝大家戊子年新春大吉，万事如意&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/begining-at-september&quot; title=&quot;始于九月&quot;&gt;始于九月&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/1ebf16ad54d8de1552dcc4ce515e86f3&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/1ebf16ad54d8de1552dcc4ce515e86f3/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=79062201e095560fe1b544940d919311&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=79062201e095560fe1b544940d919311&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=4430e86345c7f6956312bdf19cb38178&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=4430e86345c7f6956312bdf19cb38178&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=eea0dc29b4c79bfccc278686bec5c197&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=eea0dc29b4c79bfccc278686bec5c197&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/birthday-of-22-years-old/feed</wfw:commentRss><description>22号的生日，22岁的生日，只有一次。
谢谢各位的祝福，尤其谢谢“您”的蛋糕、钱包还有排骨，很开心的生日，因为好像很多年生日没有家人以外的人给我这样过了，也很多年没有吃生日蛋糕了。
22岁了，一个人，16岁、18岁、22岁的生日那天，他想的东西是否会一样呢，呵呵。
16岁的时候，我们在经历那场人生第一次重要的考试后，享受阳光点点的暑假。
18岁的时候，那个成人礼之后的灌水本，在我们的手里和心里开始流传。
22岁的时候，我站在学校和公司之间的交叉路口，茫然四顾。
时光荏苒。朋友们，希望下次生日我们能在一起。
Random Posts

DreamWeaver CS4新特性之JavaScript
Beyond summer
祝大家戊子年新春大吉，万事如意&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/1ebf16ad54d8de1552dcc4ce515e86f3&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/1ebf16ad54d8de1552dcc4ce515e86f3/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=79062201e095560fe1b544940d919311&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=79062201e095560fe1b544940d919311&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=4430e86345c7f6956312bdf19cb38178&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=4430e86345c7f6956312bdf19cb38178&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=eea0dc29b4c79bfccc278686bec5c197&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=eea0dc29b4c79bfccc278686bec5c197&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活感悟</category><category>生日</category><pubDate>Mon, 23 Jun 2008 22:56:30 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/birthday-of-22-years-old#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=21</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/birthday-of-22-years-old</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254952/1224926</fs:itemid></item><item><title>SQL注入攻击-来自微软安全博客的建议</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254953/1224926/1/item.html</link><content:encoded>&lt;p&gt;本文翻译自微软博客上刊载的相关文章，英文原文版权归原作者所有，特此声明。&lt;/p&gt;
&lt;p&gt;原文：&lt;a href=&quot;http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx&quot;&gt;http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;本文译言地址：&lt;a href=&quot;http://www.yeeyan.com/articles/view/hanguofeng/8955&quot;&gt;http://www.yeeyan.com/articles/view/hanguofeng/8955&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-19&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;（特别感谢&lt;a href=&quot;http://blogs.technet.com/neilcar&quot;&gt;Neil Carpenter&lt;/a&gt;对本文写作提供的帮助）&lt;/p&gt;
&lt;h2&gt;近期趋势&lt;/h2&gt;
&lt;p&gt;从去年下半年开始，很多网站被损害，他们在用于生成动态网页的SQL数据库中存储的文本中被注入了恶意的HTML &amp;lt;script&amp;gt;标签。这样的攻击在2008年第一季度开始加速传播，并且持续影响有漏洞的Web程序。&lt;br /&gt;
这些Web应用程序有这样一些共同点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用经典ASP代码的程序&lt;/li&gt;
&lt;li&gt;使用SQL Server数据库的程序&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;应用程序代码根据URI请求字符动态地生成SQL查询（http://consoto.com/widgets.asp&lt;strong&gt;?widget=sprocket&lt;/strong&gt;）这体现了一种新的SQL注入（SQL injection）的途径（&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms161953.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/ms161953.aspx&lt;/a&gt;）。在过去，SQL注入攻击的目标是具有如下特点的特殊Web应用程序：攻击者知道或者可以探测出后台数据库的漏洞或者结构。这样的攻击（指本文讨论的攻击-译者注）不同，因为它是抽象的，对于攻击来说，任何存在于使用URI请求字符串动态创建SQL查询的ASP页面都可能存在。你可以在 &lt;a href=&quot;http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx&quot;&gt;http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx&lt;/a&gt;找到更多的技术详情和简单代码。&lt;/p&gt;
&lt;p&gt;这样的攻击并非利用了Window、IIS、SQL Server或者其他底层代码的漏洞，而是利用了在这些平台上运行的由程序员自行编写的代码中的漏洞。Microsoft已经对这些攻击进行了彻底的调查，并且发现，他们和以往的Microsoft产品的补丁和0-day漏洞无关。你可以在&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;a href=&quot;http://blogs.technet.com/msrc/archive/2008/04/25/questions-about-web-server-attacks.aspx&quot;&gt;http://blogs.technet.com/msrc/archive/2008/04/25/questions-about-web-server-attacks.aspx&lt;/a&gt;&lt;/span&gt;获取跟多的信息。&lt;/p&gt;
&lt;p&gt; 正如上面所指出的，这些攻击在近年来呈现一种增长的趋势。这至少与两个因素有关：&lt;/p&gt;
&lt;p&gt;第一，有暴力性的恶意攻击工具自动化进行此类操作。SANS在&lt;a href=&quot;http://isc.sans.org/diary.html?storyid=4294&quot;&gt;http://isc.sans.org/diary.html?storyid=4294&lt;/a&gt;讨论了这类工具。该工具使用搜索引擎来寻找具有SQL注入漏洞的站点。&lt;/p&gt;
&lt;p&gt;第二，一个或多个恶意僵尸正在进行SQL注入攻击，用以广泛传播僵尸。SecureWorks在&lt;a href=&quot;http://www.secureworks.com/research/threats/danmecasprox/&quot;&gt;http://www.secureworks.com/research/threats/danmecasprox/&lt;/a&gt;讨论了一个案例。&lt;/p&gt;
&lt;p&gt;一旦某台服务器被该漏洞所攻击，它将被插入指向某.js文件的恶意&amp;lt;script&amp;gt;标签。虽然这些文件的内容不同，但是他们都尝试利用已经被修复的Micfosoft产品的漏洞或者第三方ActiveX控件的漏洞。由于这些脚本被单独存储，这些脚本就很容易的被更新以利用更新的客户端漏洞，也更容易按照不同浏览器来定制。&lt;/p&gt;
&lt;h2&gt;给信息技术/数据库管理员的建议&lt;/h2&gt;
&lt;p&gt;有很多事情是信息技术管理员或者数据库管理员可以采取的，以减少他们的风险和响应他们的代码和平台中可能出现的事件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;检查IIS日志和数据表来寻找未知风险的标志。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;由于该漏洞利用方式通过URI请求字符串作用，管理员们可以检查IIS日志来查找尝试利用该漏洞的非正常请求。你可以在&lt;a href=&quot;http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx&quot;&gt;http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx&lt;/a&gt;找到如何手动进行改操作的详细信息。在 &lt;a href=&quot;http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;amp;ReleaseId=13436&quot;&gt;http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;amp;ReleaseId=13436&lt;/a&gt;有进行自动化操作的工具。&lt;/p&gt;
&lt;p&gt;如果IIS日志表明服务器可能已经被侵害，那么下一步要采取的行动就是审计相应的Web应用程序所使用的数据库中的表，并且查找附加在文本内容中的&amp;lt;script&amp;gt;标签。&lt;/p&gt;
&lt;p&gt;提示：IIS服务器不应当在生产环境中关闭日志。存储和适当的管理对于IIS日志都是重要的，缺少IIS日志对于响应安全事件是非常困难的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;如果运行了使用后端数据库的第三方代码，则考虑不受SQL注入影响的独立软件开发商（ISV，Independent Software Vendors）。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在使用第三方ASP Web程序的情况下，管理员应当联系应用程序厂商来确定他们的产品不受SQL注入攻击的影响。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;确认Web应用程序所使用的数据库帐户具有最少的权限。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;管理员应当确保Web应用程序所使用的SQL用户具有最小的必要权限。Web应用程序不应当以诸如&amp;#8221;sysadmin&amp;#8221;的服务器管理员权限或者&amp;#8221;db_owner&amp;#8221;的数据库权限链接。白皮书&amp;#8221;在SQL Server 2005中的最优化安全设置和维护&amp;#8221;： &lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;a href=&quot;http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc&quot;&gt;http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc&lt;/a&gt;&lt;/span&gt; 提供了关于SQL Server安全的多方面建议。&lt;/p&gt;
&lt;h2&gt;给Web开发者的建议&lt;/h2&gt;
&lt;p&gt;有很多优秀的文档论述在编码时如何防御SQL注入攻击。由于这些攻击者leverage有漏洞的Web应用程序代码，所以完全防御他们的唯一方法是解析在代码中存在的漏洞。程序中任何一个使用外部资源（一般指从URI请求字符串）数据来动态生成SQL请求的地方都应当被认为是可疑的。当代码漏洞被识别出来，他们应当被小心的修复。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;说明&lt;/strong&gt;&lt;strong&gt;-SQL&lt;/strong&gt;&lt;strong&gt;注入、&lt;/strong&gt;&lt;strong&gt;ASP.NET&lt;/strong&gt;&lt;strong&gt;和&lt;/strong&gt;&lt;strong&gt;ADO.NET&lt;/strong&gt; &lt;strong&gt;：&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb671351.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/bb671351.aspx&lt;/a&gt;&lt;br /&gt;
同时，上面的文章包含到相关文章&amp;#8221;如何在ASP.NET中避免SQL注入&amp;#8221; &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms998271.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/ms998271.aspx&lt;/a&gt;，该文章同时适用于ASP。&lt;/p&gt;
&lt;p&gt;这里有一个非常有用的视频（该视频是针对一篇防御文章的，然而链接可能已经无效了）：&lt;a href=&quot;http://channel9.msdn.com/wiki/default.aspx/SecurityWiki.SQLInjectionLab&quot;&gt;http://channel9.msdn.com/wiki/default.aspx/SecurityWiki.SQLInjectionLab&lt;/a&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;关于&lt;/strong&gt;&lt;strong&gt;SQL&lt;/strong&gt;&lt;strong&gt;注入如何实现的简单信息：&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms161953.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/ms161953.aspx&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ASP&lt;/strong&gt;&lt;strong&gt;代码中的SQL注入（与ASP.NET中的并不相同）：&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc676512.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/cc676512.aspx&lt;/a&gt;&lt;br /&gt;
如何在ASP中执行SQL Server存储过程： &lt;a href=&quot;http://support.microsoft.com/kb/q164485&quot;&gt;http://support.microsoft.com/kb/q164485&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;&lt;strong&gt;安全部门（The Microsoft Security Development Lifecycle,SDL）对SQL注入的防御进行了一些指导。简单来说有三种策略来应对SQL注入攻击：&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;使用SQL参数查询&lt;/li&gt;
&lt;li&gt;使用存储过程&lt;/li&gt;
&lt;li&gt;使用SQL仅执行（execute-only）许可&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Michael Howard在&lt;a href=&quot;http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx&quot;&gt;http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx&lt;/a&gt;谈论了这些内容。&lt;/p&gt;
&lt;p&gt;同时，编写安全的代码（第二版）也指导了如何防御此类攻击（请浏览399-411页）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;减轻SQL注入：使用参数查询（第一部分和第二部分）。使用参数化查询的好处是它将执行的代码（例如SELECT语句）和数据（由程序使用者提供的动态信息）分开。该途径防御了通过用户传递来执行的恶意语句。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第一部分：&lt;br /&gt;
&lt;a href=&quot;http://blogs.technet.com/neilcar/archive/2008/05/21/sql-injection-mitigation-using-parameterized-queries.aspx&quot;&gt;http://blogs.technet.com/neilcar/archive/2008/05/21/sql-injection-mitigation-using-parameterized-queries.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;第二部分：&lt;br /&gt;
&lt;a href=&quot;http://blogs.technet.com/neilcar/archive/2008/05/23/sql-injection-mitigation-using-parameterized-queries-part-2-types-and-recordsets.aspx&quot;&gt;http://blogs.technet.com/neilcar/archive/2008/05/23/sql-injection-mitigation-using-parameterized-queries-part-2-types-and-recordsets.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在经典ASP代码中过滤SQL注入（或者黑名单中的字符），我们将如下的工作认为是实际中临时性的解决方案，因为它治标不治本。（例如，代码仍然是有漏洞的，他仍然可能被绕过过滤机制而被访问到）&lt;br /&gt;
IIS团队中的Nazim解释了如何过滤的详细信息：&lt;a href=&quot;http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx&quot;&gt;http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;如果你仍然不了解从哪里开始，所有使用特定ASP代码访问数据库，尤其是使用由用户提供的数据的代码应当首先被检测。&lt;/p&gt;
&lt;h2&gt;给最终用户的建议&lt;/h2&gt;
&lt;p&gt;最终用户（下简称用户-译者注）应当浏览位于&lt;a href=&quot;http://www.microsoft.com/protect/default.mspx&quot;&gt;http://www.microsoft.com/protect/default.mspx&lt;/a&gt;的信息。另外，这里也有一些你可以采取以保护自己的步骤。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;通常应当有选择的访问网站-但是也需要了解，该漏洞也会影响用户信任的网站。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有选择的访问网站减少了你暴露在漏洞下的风险，当然即使是你所信任的也有可能被攻击。留意不正常的行为，了解面临的风险，并且实施本节提供的其他建议。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;针对Microsoft和第三方软件，保持安全更新。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;由于恶意代码通常利用了已知的漏洞，因此你应当确保你在运行最新进行安全更新过的的Microsoft和第三方软件。Microsoft安全更新可以通过&lt;a href=&quot;http://update.microsoft.com/&quot;&gt;http://update.microsoft.com&lt;/a&gt;了解。&lt;a href=&quot;http://www.microsoft.com/protect/computer/updates/OS.aspx&quot;&gt;http://www.microsoft.com/protect/computer/updates/OS.aspx&lt;/a&gt;有更多信息。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;禁用不必要的ActiveX控件和IE加载项。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你应当禁用所有不必要的ActiveX控件和IE加载项。根据KB883256（&lt;a href=&quot;http://support.microsoft.com/kb/883256&quot;&gt;http://support.microsoft.com/kb/883256&lt;/a&gt;）的方法在Windows XP Service Pack2或者更新版本中来实施本步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开IE。&lt;/li&gt;
&lt;li&gt;在&amp;#8221;工具&amp;#8221;菜单点击管理加载项。&lt;/li&gt;
&lt;li&gt;点击加载项的名称。&lt;/li&gt;
&lt;li&gt;使用如下的方法：
&lt;ul&gt;
&lt;li&gt;点击更新ActiveX来使用最新的版本替换该控件。这个方法并非对所有的加载项都可用。&lt;/li&gt;
&lt;li&gt;点击&amp;#8221;启用&amp;#8221;，而后点击&amp;#8221;确定&amp;#8221;，来启用加载项。&lt;/li&gt;
&lt;li&gt;点击&amp;#8221;禁用&amp;#8221;，而后点击&amp;#8221;确定&amp;#8221;，来禁用加载项。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;你可能需要重启IE来确保在启用/禁用插件的操作成功。&lt;br /&gt;
针对更糟的操作系统，根据KB154036（&lt;a href=&quot;http://support.microsoft.com/kb/154036&quot;&gt;http://support.microsoft.com/kb/154036&lt;/a&gt;）的说明进行操作。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;减少你所使用的第三方浏览器的受攻击风险的步骤。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你使用了IE之外的浏览器，那么你应当确保你安装的是最新的安全更新版本，同时你应当禁用了不必要的扩展和加载项。流行浏览器的信息可以在如下链接找到：&lt;/p&gt;
&lt;p&gt;Firefox - &lt;a href=&quot;http://support.mozilla.com/en-US/kb/Firefox+Support+Home+Page&quot;&gt;http://support.mozilla.com/en-US/kb/Firefox+Support+Home+Page&lt;/a&gt;&lt;br /&gt;
Opera - &lt;a href=&quot;http://www.opera.com/support/&quot;&gt;http://www.opera.com/support/&lt;/a&gt;&lt;br /&gt;
Safari - &lt;a href=&quot;http://www.apple.com/support/safari/&quot;&gt;http://www.apple.com/support/safari/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;更新反恶意程序软件&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;用户应当确保已经安装了杀毒软件和反间谍软件，并且保持他们的更新。你可以在&lt;a href=&quot;http://www.microsoft.com/protect/computer/antivirus/OS.aspx&quot;&gt;http://www.microsoft.com/protect/computer/antivirus/OS.aspx&lt;/a&gt;和&lt;a href=&quot;http://www.microsoft.com/protect/computer/antispyware/OS.aspx&quot;&gt;http://www.microsoft.com/protect/computer/antispyware/OS.aspx&lt;/a&gt;找到更多信息。你可以在 &lt;a href=&quot;http://onecare.live.com/standard/en-us/install/install.htm&quot;&gt;http://onecare.live.com/standard/en-us/install/install.htm&lt;/a&gt;得到一份90天使用的Windows Live OneCare杀毒/反间谍软件。&lt;/p&gt;
&lt;p class=&quot;zoundry_raven_tags&quot;&gt;&lt;!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com --&gt;&lt;span class=&quot;ztags&quot;&gt;&lt;span class=&quot;ztagspace&quot;&gt;Del.icio.us&lt;/span&gt; : &lt;a class=&quot;ztag&quot; rel=&quot;tag&quot; href=&quot;http://del.icio.us/tag/SQL%20Injection&quot;&gt;SQL Injection&lt;/a&gt;, &lt;a class=&quot;ztag&quot; rel=&quot;tag&quot; href=&quot;http://del.icio.us/tag/SQL%E6%B3%A8%E5%85%A5&quot;&gt;SQL注入&lt;/a&gt;, &lt;a class=&quot;ztag&quot; rel=&quot;tag&quot; href=&quot;http://del.icio.us/tag/%E7%BF%BB%E8%AF%91&quot;&gt;翻译&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;相关内容&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference&quot; title=&quot;[译文]Google AJAX Language API对象参考&quot;&gt;[译文]Google AJAX Language API对象参考&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide&quot; title=&quot;[译文]Google AJAX Language API开发者参考&quot;&gt;[译文]Google AJAX Language API开发者参考&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/security/preventing-csrf&quot; title=&quot;[译文]防止CSRF攻击&quot;&gt;[译文]防止CSRF攻击&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/22b18b3d6cf3997bd9cbe732eef8b2f4&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/22b18b3d6cf3997bd9cbe732eef8b2f4/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=a00573a8858b965c77abb19c53405adf&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=a00573a8858b965c77abb19c53405adf&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8355de603eff22eab055f33461d2f95e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8355de603eff22eab055f33461d2f95e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=784548281198276b0de95beadca761d9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=784548281198276b0de95beadca761d9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/security/sql-injection-attack/feed</wfw:commentRss><description>本文翻译自微软博客上刊载的相关文章，英文原文版权归原作者所有，特此声明。
原文：http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx
本文译言地址：http://www.yeeyan.com/articles/view/hanguofeng/8955

（特别感谢Neil Carpenter对本文写作提供的帮助）
近期趋势
从去年下半年开始，很多网站被损害，他们在用于生成动态网页的SQL数据库中存储的文本中被注入了恶意的HTML &amp;#60;script&amp;#62;标签。这样的攻击在2008年第一季度开始加速传播，并且持续影响有漏洞的Web程序。
这些Web应用程序有这样一些共同点：

使用经典ASP代码的程序
使用SQL Server数据库的程序

应用程序代码根据URI请求字符动态地生成SQL查询（http://consoto.com/widgets.asp?widget=sprocket）这体现了一种新的SQL注入（SQL injection）的途径（http://msdn.microsoft.com/en-us/library/ms161953.aspx）。在过去，SQL注入攻击的目标是具有如下特点的特殊Web应用程序：攻击者知道或者可以探测出后台数据库的漏洞或者结构。这样的攻击（指本文讨论的攻击-译者注）不同，因为它是抽象的，对于攻击来说，任何存在于使用URI请求字符串动态创建SQL查询的ASP页面都可能存在。你可以在 http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx找到更多的技术详情和简单代码。
这样的攻击并非利用了Window、IIS、SQL Server或者其他底层代码的漏洞，而是利用了在这些平台上运行的由程序员自行编写的代码中的漏洞。Microsoft已经对这些攻击进行了彻底的调查，并且发现，他们和以往的Microsoft产品的补丁和0-day漏洞无关。你可以在http://blogs.technet.com/msrc/archive/2008/04/25/questions-about-web-server-attacks.aspx获取跟多的信息。
 正如上面所指出的，这些攻击在近年来呈现一种增长的趋势。这至少与两个因素有关：
第一，有暴力性的恶意攻击工具自动化进行此类操作。SANS在http://isc.sans.org/diary.html?storyid=4294讨论了这类工具。该工具使用搜索引擎来寻找具有SQL注入漏洞的站点。
第二，一个或多个恶意僵尸正在进行SQL注入攻击，用以广泛传播僵尸。SecureWorks在http://www.secureworks.com/research/threats/danmecasprox/讨论了一个案例。
一旦某台服务器被该漏洞所攻击，它将被插入指向某.js文件的恶意&amp;#60;script&amp;#62;标签。虽然这些文件的内容不同，但是他们都尝试利用已经被修复的Micfosoft产品的漏洞或者第三方ActiveX控件的漏洞。由于这些脚本被单独存储，这些脚本就很容易的被更新以利用更新的客户端漏洞，也更容易按照不同浏览器来定制。
给信息技术/数据库管理员的建议
有很多事情是信息技术管理员或者数据库管理员可以采取的，以减少他们的风险和响应他们的代码和平台中可能出现的事件：

检查IIS日志和数据表来寻找未知风险的标志。

由于该漏洞利用方式通过URI请求字符串作用，管理员们可以检查IIS日志来查找尝试利用该漏洞的非正常请求。你可以在http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx找到如何手动进行改操作的详细信息。在 http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;#38;ReleaseId=13436有进行自动化操作的工具。
如果IIS日志表明服务器可能已经被侵害，那么下一步要采取的行动就是审计相应的Web应用程序所使用的数据库中的表，并且查找附加在文本内容中的&amp;#60;script&amp;#62;标签。
提示：IIS服务器不应当在生产环境中关闭日志。存储和适当的管理对于IIS日志都是重要的，缺少IIS日志对于响应安全事件是非常困难的。

如果运行了使用后端数据库的第三方代码，则考虑不受SQL注入影响的独立软件开发商（ISV，Independent Software Vendors）。

在使用第三方ASP Web程序的情况下，管理员应当联系应用程序厂商来确定他们的产品不受SQL注入攻击的影响。

确认Web应用程序所使用的数据库帐户具有最少的权限。

管理员应当确保Web应用程序所使用的SQL用户具有最小的必要权限。Web应用程序不应当以诸如&amp;#8221;sysadmin&amp;#8221;的服务器管理员权限或者&amp;#8221;db_owner&amp;#8221;的数据库权限链接。白皮书&amp;#8221;在SQL Server 2005中的最优化安全设置和维护&amp;#8221;： http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc 提供了关于SQL Server安全的多方面建议。
给Web开发者的建议
有很多优秀的文档论述在编码时如何防御SQL注入攻击。由于这些攻击者leverage有漏洞的Web应用程序代码，所以完全防御他们的唯一方法是解析在代码中存在的漏洞。程序中任何一个使用外部资源（一般指从URI请求字符串）数据来动态生成SQL请求的地方都应当被认为是可疑的。当代码漏洞被识别出来，他们应当被小心的修复。

说明-SQL注入、ASP.NET和ADO.NET ：

http://msdn.microsoft.com/en-us/library/bb671351.aspx
同时，上面的文章包含到相关文章&amp;#8221;如何在ASP.NET中避免SQL注入&amp;#8221; http://msdn.microsoft.com/en-us/library/ms998271.aspx，该文章同时适用于ASP。
这里有一个非常有用的视频（该视频是针对一篇防御文章的，然而链接可能已经无效了）：http://channel9.msdn.com/wiki/default.aspx/SecurityWiki.SQLInjectionLab。

关于SQL注入如何实现的简单信息：

http://msdn.microsoft.com/en-us/library/ms161953.aspx

ASP代码中的SQL注入（与ASP.NET中的并不相同）：

http://msdn.microsoft.com/en-us/library/cc676512.aspx
如何在ASP中执行SQL Server存储过程： http://support.microsoft.com/kb/q164485

Microsoft安全部门（The Microsoft Security Development Lifecycle,SDL）对SQL注入的防御进行了一些指导。简单来说有三种策略来应对SQL注入攻击：


使用SQL参数查询
使用存储过程
使用SQL仅执行（execute-only）许可

Michael Howard在http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx谈论了这些内容。
同时，编写安全的代码（第二版）也指导了如何防御此类攻击（请浏览399-411页）。

减轻SQL注入：使用参数查询（第一部分和第二部分）。使用参数化查询的好处是它将执行的代码（例如SELECT语句）和数据（由程序使用者提供的动态信息）分开。该途径防御了通过用户传递来执行的恶意语句。

第一部分：
http://blogs.technet.com/neilcar/archive/2008/05/21/sql-injection-mitigation-using-parameterized-queries.aspx
第二部分：
http://blogs.technet.com/neilcar/archive/2008/05/23/sql-injection-mitigation-using-parameterized-queries-part-2-types-and-recordsets.aspx
在经典ASP代码中过滤SQL注入（或者黑名单中的字符），我们将如下的工作认为是实际中临时性的解决方案，因为它治标不治本。（例如，代码仍然是有漏洞的，他仍然可能被绕过过滤机制而被访问到）
IIS团队中的Nazim解释了如何过滤的详细信息：http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx。
如果你仍然不了解从哪里开始，所有使用特定ASP代码访问数据库，尤其是使用由用户提供的数据的代码应当首先被检测。
给最终用户的建议
最终用户（下简称用户-译者注）应当浏览位于http://www.microsoft.com/protect/default.mspx的信息。另外，这里也有一些你可以采取以保护自己的步骤。

通常应当有选择的访问网站-但是也需要了解，该漏洞也会影响用户信任的网站。

有选择的访问网站减少了你暴露在漏洞下的风险，当然即使是你所信任的也有可能被攻击。留意不正常的行为，了解面临的风险，并且实施本节提供的其他建议。

针对Microsoft和第三方软件，保持安全更新。

由于恶意代码通常利用了已知的漏洞，因此你应当确保你在运行最新进行安全更新过的的Microsoft和第三方软件。Microsoft安全更新可以通过http://update.microsoft.com了解。http://www.microsoft.com/protect/computer/updates/OS.aspx有更多信息。

禁用不必要的ActiveX控件和IE加载项。

你应当禁用所有不必要的ActiveX控件和IE加载项。根据KB883256（http://support.microsoft.com/kb/883256）的方法在Windows XP Service Pack2或者更新版本中来实施本步骤：

打开IE。
在&amp;#8221;工具&amp;#8221;菜单点击管理加载项。
点击加载项的名称。
使用如下的方法：

点击更新ActiveX来使用最新的版本替换该控件。这个方法并非对所有的加载项都可用。
点击&amp;#8221;启用&amp;#8221;，而后点击&amp;#8221;确定&amp;#8221;，来启用加载项。
点击&amp;#8221;禁用&amp;#8221;，而后点击&amp;#8221;确定&amp;#8221;，来禁用加载项。



你可能需要重启IE来确保在启用/禁用插件的操作成功。
针对更糟的操作系统，根据KB154036（http://support.microsoft.com/kb/154036）的说明进行操作。

减少你所使用的第三方浏览器的受攻击风险的步骤。

如果你使用了IE之外的浏览器，那么你应当确保你安装的是最新的安全更新版本，同时你应当禁用了不必要的扩展和加载项。流行浏览器的信息可以在如下链接找到：
Firefox - http://support.mozilla.com/en-US/kb/Firefox+Support+Home+Page
Opera - http://www.opera.com/support/
Safari - http://www.apple.com/support/safari/

更新反恶意程序软件

用户应当确保已经安装了杀毒软件和反间谍软件，并且保持他们的更新。你可以在http://www.microsoft.com/protect/computer/antivirus/OS.aspx和http://www.microsoft.com/protect/computer/antispyware/OS.aspx找到更多信息。你可以在 http://onecare.live.com/standard/en-us/install/install.htm得到一份90天使用的Windows Live OneCare杀毒/反间谍软件。
Del.icio.us : SQL Injection, SQL注入, 翻译
相关内容

[译文]Google AJAX Language API对象参考
[译文]Google AJAX Language API开发者参考
[译文]防止CSRF攻击&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/22b18b3d6cf3997bd9cbe732eef8b2f4&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/22b18b3d6cf3997bd9cbe732eef8b2f4/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=a00573a8858b965c77abb19c53405adf&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=a00573a8858b965c77abb19c53405adf&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=8355de603eff22eab055f33461d2f95e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=8355de603eff22eab055f33461d2f95e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=784548281198276b0de95beadca761d9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=784548281198276b0de95beadca761d9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>网络安全</category><category>翻译</category><category>SQL注入</category><category>SQL Injection</category><pubDate>Tue, 03 Jun 2008 20:33:39 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/security/sql-injection-attack#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/archives/security/sql-injection-attack</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/security/sql-injection-attack</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254953/1224926</fs:itemid></item><item><title>逝去就别怀念</title><link>http://item.feedsky.com/~feedsky/blackcat/~7043876/123254954/1224926/1/item.html</link><content:encoded>&lt;blockquote&gt;&lt;p&gt;真的猛士，敢于直面惨淡的人生，敢于正视淋漓的鲜血。 &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;然而我们又如何面对刹那间多少孩子变成孤儿，多少妻子失去丈夫，多少老人失去子女，又有多少家庭消失在湮没之中呢，我们如何直面，我们如何正视？&lt;span id=&quot;more-18&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;2008年5月12日14点28分，一个灾难的时刻。&lt;/p&gt;
&lt;p&gt;灾难，往往让人们有痛彻心扉的清醒，我不愿一次次的阅读人们的灾难回忆，不愿意去看新闻播报里面随时增长的伤亡人数，更是不敢去看让人潸然泪下的视频，在这里，我是一个懦弱者。&lt;/p&gt;
&lt;p&gt;古人说，患难见真情，这次灾难我深深感受到了这点，我的朋友们，我敬佩你们的泪水与慷慨。&lt;/p&gt;
&lt;p&gt;我将永远记忆在灾难中的所见、所闻，我将记住你们的哀痛和坚强，我将记住你们的，爱。&lt;/p&gt;
&lt;p&gt;原逝者安息，生者坚强。&lt;/p&gt;
&lt;p&gt;&lt;object width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.tudou.com/v/UeChSccakXw&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.tudou.com/v/UeChSccakXw&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;400&quot; height=&quot;300&quot; allowFullScreen=&quot;true&quot; wmode=&quot;transparent&quot; allowScriptAccess=&quot;always&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;h3&gt;Random Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/life/missing-showgood&quot; title=&quot;从Showgood怀念起&quot;&gt;从Showgood怀念起&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/uncategorized/2008-spring-festival&quot; title=&quot;祝大家戊子年新春大吉，万事如意&quot;&gt;祝大家戊子年新春大吉，万事如意&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference&quot; title=&quot;[译文]Google AJAX Language API对象参考&quot;&gt;[译文]Google AJAX Language API对象参考&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/9792f8512b202fa2ce502c89ccd6e3d1&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/9792f8512b202fa2ce502c89ccd6e3d1/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=286131e90a80a20a1a6bdb933a44bc3b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=286131e90a80a20a1a6bdb933a44bc3b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=131a3e772d48facdd5bcb3d9b0ef2c18&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=131a3e772d48facdd5bcb3d9b0ef2c18&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=af28875934cf3b0d6bb3dc0e2f049744&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=af28875934cf3b0d6bb3dc0e2f049744&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.hanguofeng.cn/archives/life/remember-2008-china-earthquake/feed</wfw:commentRss><description>真的猛士，敢于直面惨淡的人生，敢于正视淋漓的鲜血。 
然而我们又如何面对刹那间多少孩子变成孤儿，多少妻子失去丈夫，多少老人失去子女，又有多少家庭消失在湮没之中呢，我们如何直面，我们如何正视？
2008年5月12日14点28分，一个灾难的时刻。
灾难，往往让人们有痛彻心扉的清醒，我不愿一次次的阅读人们的灾难回忆，不愿意去看新闻播报里面随时增长的伤亡人数，更是不敢去看让人潸然泪下的视频，在这里，我是一个懦弱者。
古人说，患难见真情，这次灾难我深深感受到了这点，我的朋友们，我敬佩你们的泪水与慷慨。
我将永远记忆在灾难中的所见、所闻，我将记住你们的哀痛和坚强，我将记住你们的，爱。
原逝者安息，生者坚强。

Random Posts

DreamWeaver CS4新特性之JavaScript
[译文]Google AJAX Language API开发者参考
[译文]WordPress插件API手册&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/blackcat/9792f8512b202fa2ce502c89ccd6e3d1&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/blackcat/9792f8512b202fa2ce502c89ccd6e3d1/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=286131e90a80a20a1a6bdb933a44bc3b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=286131e90a80a20a1a6bdb933a44bc3b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=131a3e772d48facdd5bcb3d9b0ef2c18&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=131a3e772d48facdd5bcb3d9b0ef2c18&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/blackcat?a=af28875934cf3b0d6bb3dc0e2f049744&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/blackcat?i=af28875934cf3b0d6bb3dc0e2f049744&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活感悟</category><category>地震</category><category>哀悼</category><pubDate>Mon, 19 May 2008 22:41:51 +0800</pubDate><author>hanguofeng</author><comments>http://www.hanguofeng.cn/archives/life/remember-2008-china-earthquake#comments</comments><guid isPermaLink="false">http://www.hanguofeng.cn/?p=18</guid><dc:creator>hanguofeng</dc:creator><fs:srclink>http://www.hanguofeng.cn/archives/life/remember-2008-china-earthquake</fs:srclink><fs:srcfeed>http://www.hanguofeng.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/blackcat/~7043876/123254954/1224926</fs:itemid></item></channel></rss>