bak文件带来的灾难

类别:Asp 点击:0 评论:0 推荐:

第二章  bak文件带来的灾难

/**
作者 :慈勤强
Email:[email protected]
最后修改:2004-10-03
**/

     一日,在网上与一朋友闲聊,朋友是做网站开发的,以前也与其讨论过技术方面的问题,

只是好久没有在网上见到了,就好像人间蒸发了一样。

    “Steven,最近忙些什么呢?”,朋友先问到。

    “没什么,在家下岗待业呢,呵呵”,我答道。

    “哦,那正好,我们最近刚刚完成了一个政府部门的信息系统,现在正处于试运行阶段,

你看看,给点意见,^-^”,朋友回答道。

    “你这家伙,我都下岗了,你也不安慰一下,呵呵”

    “你还怕找不到工作呀,^-^”

    “呵呵,那好,不过别忘记请客啊....”

     ......

     一阵调侃之后,朋友把网址发了过来。


     于是,我打开这个网站一看,很清新的一个网站,看起来简单但不失实用,朴素但不失

悦目,挺不错的。再看一下,这是一个用Asp编写的动态网站,那猜想数据库应该是SQL Server

的吧。

    “不错啊,这不是挺好的吗?”我又回了朋友一句。

    “还行吧,过两天就要验收了,^-^”

    “哦,那你们项目组几个写程序的人啊?”

    “3个人,做了三个月呢”,听得出来,他们还是倾注了不少的精力的。

    “哦,那你们用什么开发工具,如何进行版本控制呀?”,我是比较关注项目过程的。

    “嗨,不怕你笑话,我们根本就没有进行什么版本控制,每个人负责几个栏目,到时候

一拼就可以了。 我们就用Editplus开发asp。”


    这么大个系统,竟然连基本的版本控制都没有,真是不可思议,也不知道他们是怎么

接到这个政府部门的项目的?


    我暗自心想,突然想起了Editplus,这是一个非常小巧,实用的文本编辑器,我也一直

用它。可是对于Editplus,默认的情况下,它都会在当前目录下生成一个当前文件的备份,

比如你在写一个member.asp的程序,保存的时候,Editplus会自动生成一个备份文件,

member.asp.bak。所以在写完程序,往外发布的时候,如果没有完全删除这些备份文件,那么

隐患则是巨大的。


    他们不会存在这个问题吧,我心想。

    我边想,边顺手在一个正在访问的文件News.asp文件后面加上一个.bak,也就是我访问

的文件变成了http://网址/News.asp.bak, 回车一看,果不其然,这个文件的源代码

就显示了出来,部分代码如下:


    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <!--#include file="include/conn.asp" -->
    <!--#include file="include/function.asp" -->
    <%
       这里是他们的asp源代码
    %>

    一看,就知道conn.asp是连接数据库的文件,那就看看他们用的什么数据库吧,访问

http://网址/include/conn.asp.bak,结果如下:

    Call ConnectSQL()
    Sub ConnectSQL()
          Dim strSqlServer,strUserName,strPassword,strDatabase
          Dim strConn
         strSqlServer = "210.51.*.*"
         strUserName  = "sa"
         strPassword  = "!K)^$XN)*723L&%$fg6%^k"
         strDatabase  = "ZhenJin"
 
         strConn  = "Driver={SQL Server};Server=" + strSqlServer + ";UID=" + strUsername
         strConn  = strConn + ";pwd=" + strPassword + ";Database=" + strDatabase

         Set objConn = Server.CreateObject("ADODB.CONNECTION")
         objConn.Open strConn

    End Sub

    通过这个文件,可以看出来,他们真的用的Sql Server数据库,而且连接用户是SA,这可是

Sql Server的最高权限用户了,相当于系统的管理员权限。


    看到这里,我就不忍心再往下看了,急忙跟朋友说明问题。


   “你们写完程序,Editplus生成的bak文件怎么不删除呢?呵呵”,我问到。

   “哦?不会存在这种低级问题吧,我做的都删除了啊?”,朋友吃惊的回答到。

   “那其他人写的呢?你们系统做完了,不会连自己都没有测试吧?”

   “哦,那可能是别人没有注意吧,我们只是进行了简单的功能测试,时间太紧了”

     ..........
  
    是啊,时间太紧了,给我的感觉是现在的项目没有一个时间不紧的。现在好多网络公司作出来的

项目甚至连自己都没有进行很好的QA测试,就拿出来给客户了,客户发现问题,再提出来,他们再改。

实际上从长远来讲,这样是得不偿失的。

     
    看来,这顿饭是有着落了,可是下一顿呢......

本文地址:http://com.8s8s.com/it/it8479.htm