明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

bak文件帶來的災(zāi)難

[摘要]第二章 bak文件帶來的災(zāi)難 /** 作者 :慈勤強 Email:cqq1978@Gmail.com 最后修改:2004-10-03 **/ 一日,在網(wǎng)上與一朋友閑聊,朋友是做網(wǎng)站開發(fā)的,以前也與其討論過技術(shù)方面的問題, 只是好久沒有在網(wǎng)上見到了,就好像人間蒸發(fā)了一樣。 “Steven,最近忙些什...

第二章 bak文件帶來的災(zāi)難

/**
作者 :慈勤強
Email:cqq1978@Gmail.com
最后修改:2004-10-03
**/

一日,在網(wǎng)上與一朋友閑聊,朋友是做網(wǎng)站開發(fā)的,以前也與其討論過技術(shù)方面的問題,

只是好久沒有在網(wǎng)上見到了,就好像人間蒸發(fā)了一樣。

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

“沒什么,在家下崗待業(yè)呢,呵呵”,我答道。

“哦,那正好,我們最近剛剛完成了一個政府部門的信息系統(tǒng),現(xiàn)在正處于試運行階段,

你看看,給點意見,^-^”,朋友回答道。

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

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

“呵呵,那好,不過別忘記請客啊....”

......

一陣調(diào)侃之后,朋友把網(wǎng)址發(fā)了過來。


于是,我打開這個網(wǎng)站一看,很清新的一個網(wǎng)站,看起來簡單但不失實用,樸素但不失

悅目,挺不錯的。再看一下,這是一個用Asp編寫的動態(tài)網(wǎng)站,那猜想數(shù)據(jù)庫應(yīng)該是SQL Server

的吧。

“不錯啊,這不是挺好的嗎?”我又回了朋友一句。

“還行吧,過兩天就要驗收了,^-^”

“哦,那你們項目組幾個寫程序的人啊?”

“3個人,做了三個月呢”,聽得出來,他們還是傾注了不少的精力的。

“哦,那你們用什么開發(fā)工具,如何進行版本控制呀?”,我是比較關(guān)注項目過程的。

“嗨,不怕你笑話,我們根本就沒有進行什么版本控制,每個人負責(zé)幾個欄目,到時候

一拼就可以了。 我們就用Editplus開發(fā)asp!


這么大個系統(tǒng),竟然連基本的版本控制都沒有,真是不可思議,也不知道他們是怎么

接到這個政府部門的項目的?


我暗自心想,突然想起了Editplus,這是一個非常小巧,實用的文本編輯器,我也一直

用它?墒菍τ贓ditplus,默認的情況下,它都會在當前目錄下生成一個當前文件的備份,

比如你在寫一個member.asp的程序,保存的時候,Editplus會自動生成一個備份文件,

member.asp.bak。所以在寫完程序,往外發(fā)布的時候,如果沒有完全刪除這些備份文件,那么

隱患則是巨大的。


他們不會存在這個問題吧,我心想。

我邊想,邊順手在一個正在訪問的文件News.asp文件后面加上一個.bak,也就是我訪問

的文件變成了http://網(wǎng)址/News.asp.bak, 回車一看,果不其然,這個文件的源代碼

就顯示了出來,部分代碼如下:


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

一看,就知道conn.asp是連接數(shù)據(jù)庫的文件,那就看看他們用的什么數(shù)據(jù)庫吧,訪問

http://網(wǎng)址/include/conn.asp.bak,結(jié)果如下:

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數(shù)據(jù)庫,而且連接用戶是SA,這可是

Sql Server的最高權(quán)限用戶了,相當于系統(tǒng)的管理員權(quán)限。


看到這里,我就不忍心再往下看了,急忙跟朋友說明問題。


“你們寫完程序,Editplus生成的bak文件怎么不刪除呢?呵呵”,我問到。

“哦?不會存在這種低級問題吧,我做的都刪除了。俊,朋友吃驚的回答到。

“那其他人寫的呢?你們系統(tǒng)做完了,不會連自己都沒有測試吧?”

“哦,那可能是別人沒有注意吧,我們只是進行了簡單的功能測試,時間太緊了”

..........

是啊,時間太緊了,給我的感覺是現(xiàn)在的項目沒有一個時間不緊的。現(xiàn)在好多網(wǎng)絡(luò)公司作出來的

項目甚至連自己都沒有進行很好的QA測試,就拿出來給客戶了,客戶發(fā)現(xiàn)問題,再提出來,他們再改。

實際上從長遠來講,這樣是得不償失的。