ECMessenger

专业级企业即时通讯软件

.NET开发者们都已经长大了吗?

clock July 28, 2008 02:54 by author dengchong

大约在五年前,.NET框架发布,消息立即成为了热门新闻,并被众多的博客社区和技术杂志关注,包括好的和坏的方面,一直持续了多年。

当面向工业用途的.NET发布时,引起了极大的骚乱,业界震惊,开发者也不知道该如何去使用它。Java人群迅速抨击.NET1.0版本的表现,认为它简直就是Java的劣质克隆版本。大家被这个框架所激怒,一场针对微软的抨击战役开始上演,参加者甚至包括以往的Windows开发者。  

内部争论
大批以往靠在VB或VC环境中制作ASP网站或Windows应用程序开发为生的人们感到自己好象被微软抛弃了一样,因为他们
不得不放弃其偏好的开发工具或语言。他们同时感到,这个框架将迫使自己不得不重新掌握一项全新的技术,如果他们还想在这个圈子里混的话。从 ASP3到ASP.NET 1.0的转变,我本人也经历过一段很艰难的过程。

此外,对于C#或VB.NET哪一门是最好的开发语言也引起了场大争论,其中夹带着大量愚昧、感情化的正反得失方面的主张。这场争论持续多年却没有解决任何实质性的问题,最后以参与者的精疲力尽而告终。通常,在博客社区,如果你不经意间告诉别人你喜欢VB.NET胜过C#会给人一种居高临下的感觉。在某些地方,这是一种禁忌,虽然那时我又用回到了VB.NET。

似乎,愤怒的人哪儿都有,他们总能找到一些“聪明”的理由来批评.NET框架。

成长

也许是因为厌倦了这场争论,或者是后来意识到了这是多么愚蠢的行为,似乎,现在争论已经稍微停止些了。近期,关于.NET弊端的文章或帖子已经很少能再看到了。可能大家已经能够理解,这只是个人偏好的问题,只要能协调好工作,根本无所谓使用哪一种开发语言,这场争论也实在没有存在的必要了。也有可能是大家受到微软理论的灌输,不再升级那些争论。

现在,大家已经达成一个共识,不太可能再回到几年前的争论,屏弃了那些愚昧、情绪化的争论,大家开始专注于实质性的问题,比如说截止期限、团队合作、项目管理、代码质量,等等。

不足
近两年多来,我们看到历史再重演,那些愚蠢的情绪化对比和丑陋而没必要的争论又兴起了。动态语言福音者似乎忘掉了五年前的争论而又另起炉灶。这或许是宣传伎俩在起作用,如果你是个容易被煽动的人。

一位哲学家(名字已经忘了)曾经说过一句话,内容大概是关于愚蠢争论的热点:

从历史中我们该学到的,就是我们没有在历史中学到任何东西。



如何通过IIS日志分析网站的情况

clock July 27, 2008 10:36 by author dengchong

  看到这个标题,想必大家会不屑一顾,“需要分析IIS日志吗?我有流量统计、51yes、cnzz、51la等等一大堆,功能全面,用起来也方便”,在这里请大家先别急着下结论,看完下面进行的IIS日志分析后再说。

  先来说说如何下载IIS日志文件。如果自己有独立的服务器,在IIS信息服务窗口中,点击要设置的网站的属性,在“网页”选项卡上可以看到“启动日志记录”项,可以设置日志的保存位置、日志的记录格式等等,虚拟主机用户可以通过空间商提供的后台生成IIS日志,如万网中称为“weblog日志下载”。

  现在我们已经找到了IIS日志文件,然后把它下载下来,用ultraedit将其打开(为什么不用记事本打开呢?记事本要打开一个几十M、上百M的文本文件,其速度实在是不能让人忍受)。下面就以我的一个网站(51baobao.net)的IIS日志为例进行一下分析演示。

  第一,通过IIS日志了解搜索引擎的到访记录:

  用ultraedit打开后,按CTRL+F键,弹出窗口(如图1),输入Googlebot,按回车,在新窗口中显示的页面就是google机器人的到访问记录,选中其中之一双击,可以看到访问的时间和页面(如图2),在这里要注意的是所显示的时间是国际标准时间,所以要在这个时间上加8个小时,这样才是北京时间,如果是自己的独立服务器可以设置为北京时间,这里就不详述了。

 

(图1)

(图2)

  我们继续查找Baiduspider可以看到baidu蜘蛛的爬行记录。其他搜索引擎通过查找如Yahoo、Sogou、msnbot、YodaoBot… 比如我们新做了一个网站,也在百度和google中提交了,可是site站点的时候就是看不到收录的页面,这时我们就可以利用上面的方法查看一下IIS日志,只要百度和google等搜索引擎的蜘蛛已经爬行过我们的站点了,我们就不用担心网站的收录问题了,搜索引擎会慢慢的放出已经抓取的页面,站长们继续增加内容就行了。通过此项查找还可以了解搜索引擎的到访时间和抓取页面的时间及频率。

  上面是通过IIS日志查看搜索引擎的爬行记录,可能有人会问了,为什么搜索引擎的爬行记录不能被流量统计工具统计到?因为流量统计代码是采用JS调用的方式,搜索引擎蜘蛛爬行时不会调用JS文件。我们可以自己写个流量统计功能,然后include流量统计功能的这个动态页面到各个页面中,这样所有对页面的访问就都可以统计到了,并且通过agent参数,可以判断来自哪个搜索引擎,这里不再详述。

  第二,通过IIS日志查找网站是否存在死链接: 在用ultraedit打开的IIS日志文件中按CTRL+F键,在出现的窗口中(如图1),选中第一和第三个复选框,输入404,然后按回车,看看在弹出的窗口中有没有找到记录。如果找到,说明你的网站存在死链接,大家都知道死链接对网站的收录是有影响的,怎么去处理就不用我说了吧。

  下面是搜索404时我的网站IIS日志中出现的几条记录:

2008-07-24 16:05:08 GET /Login.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) - 404 0 1003
2008-07-24 16:05:08 POST /Login.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /Login.asp 404 0 1003
2008-07-24 16:05:08 GET /reg.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /Login.asp 404 0 1003
2008-07-24 16:05:09 POST /reg.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /reg.asp?action=apply 404 0 1003

  相信有经验的站长都明白了吧?这是有人在用一些漏洞扫描工具对网站进行漏洞测试,看看有没有漏洞,使用通用的CMS、DIG、BBS、BLOG系统的站长可要注意了,你所用的网页程序如果有漏洞,网站就会有被黑掉的危险!

  第三、通过IIS日志查找网站是否存在程序错误:

  我们再输入500进行查找,如果查找到相关页面,说明网站 的程序在运行过程中出现了错误,需要对程序进行修改。

  第四、通过IIS日志查找网站是否被入侵过:

  通过IIS日志可以判断网站是否曾被通过SQL注入过,是怎样被入侵的。在网站IIS日志我们搜索一下%20和’单引号(半角的),看看是否有相关的页面存在,当然不是所有包括%20和’的页面都是被注入页面,但一般的SQL注入都是通过%20(空格的ASC码的16进制值是20)和单引号进行的。此方法可以判断出程序上的漏洞,这样我们可以修改程序防止SQL注入。我曾经用这个办法将网站被SQL注入的全过程及入侵的破坏程度进行了解,然后修改了程序,防止了网站再次被入侵。

  介绍以上几点,以供大家参考。

  对于apache的日志,分析方法也类似。现在有一些IIS日志分析软件可以帮助我们分析出搜索引擎的到访情况以及404错误的网页,但对于通过网站漏洞被入侵的问题只能靠我们手工查找了。