引 言
在以前的公司就曾推薦在項目組中用 BugTracker.net(錯誤跟蹤管理 ★開源★ 直到現(xiàn)在他們?nèi)匀辉谑褂?/em>),最近自己需要對一個網(wǎng)站項目進行錯誤跟蹤管理,自然就又想到了它。上網(wǎng)下載了個最新版本2.1.4(2005/10/22)。
因為現(xiàn)在需要將其部署在公共Web服務(wù)器上讓普通用戶使用 BugTracker 來報告錯誤,所以必須將其進行漢化并調(diào)整其默認的安全策略。
簡 介
BugTracker.net 是用C#寫的一個基于ASP.net的開源項目,是一款簡單易用的錯誤跟蹤管理軟件。
安 裝
- 將下載的壓縮文件全部解壓縮到某個文件夾中(譬如“E:/BugTracker”)。
- 創(chuàng)建數(shù)據(jù)庫(譬如“BugTracker”),然后打開『SQL查詢分析器』執(zhí)行下載壓縮文件內(nèi)的“setup.sql”既可。
- 打開『IIS信息服務(wù)管理器』在“默認網(wǎng)站”下面創(chuàng)建虛擬目錄(譬如“BugTracker”),并對應(yīng)到你的物理目錄(譬如“E:/BugTracker”)。將“default.aspx”添加到默認文件列表中。
- 打開瀏覽器在地址欄輸入“http://127.0.0.1/BugTracker”,使用默認的系統(tǒng)管理員(Admin)賬號登錄使用。
漢 化
BugTracker 項目的源代碼和頁面標簽是混合在一起的而沒有使用Codebehind,就像又回到了ASP時代一樣。所以你千萬不要像我一樣到處找代碼文件,我一度還以為它沒提供源代碼呢。坦白說,該項目的設(shè)計和代碼實現(xiàn)都不咋的(看來,老外也不盡都是強人?。?/em>,遠沒有 ASP.net Forums(中文版) 來得漂亮,當然也可能是因為這兩個項目的復(fù)雜度相差太大而導(dǎo)致設(shè)計思路不同罷。
該項目沒有使用資源文檔,各種顯示文本/鏈接資源等均是硬編碼在ASPX頁面文件中的,所以我們必須一個個打開相關(guān)的ASPX文件,找到顯示的英文內(nèi)容后將其一一修改成中文,然后保存就可以了。因為是使用代碼混合的方式,所以連編譯這個步驟都可省略了(“可見即可得”)。
該項目中包含兩個可能導(dǎo)致安全隱患的頁面:
- query.aspx 頁面是用來直接運行SQL語句的,這會導(dǎo)致非常嚴重的安全隱患,尤其是將該項目部署到公共服務(wù)器上面,一定要將該頁面文件刪除,否則不懷好意的人就可以利用其執(zhí)行危險的SQL命令了?。?!
- view_web_config.aspx 頁面通過它能查看 Web.config 內(nèi)容,這實在是個非常糟糕的事情。因為數(shù)據(jù)庫連接字符串都是未經(jīng)加密就直接保存在 Web.config 文件中的,如果你未刪除該頁面那后果可想而知了罷?!
在該漢化版本中,我將配置文件中的某些選項改成更安全的設(shè)置了。并且將 Web.config 配置文件改成了UTF-8編碼方式以支持使用中文。另外,配置文件中的“UploadFolder”鍵和“LogFileFolder”鍵值必須指定的是絕對物理路徑而不是虛擬路徑,所以如果你要將該項目部署到公共服務(wù)器中,可能需要寫個測試頁面以得到你當前虛擬目錄對應(yīng)的物理路徑(譬如[C#]:
Response.Write(Server.MapPath("."));),然后將該物理路徑更新到配置文件中的該健值。 經(jīng)過一段時間的測試運行后,發(fā)現(xiàn)其日志文件增長較快,便將本 Web.config 配置文件內(nèi)的是否啟用日志記錄選項(LogEnabled="0")設(shè)成關(guān)閉了。
其 他
本人英文水平很菜,如果有翻譯的辭不達意的地方敬請各位來信告知:SW515@21cn.com,我將及時更正!
下載 BugTracker.NET 2.1.4(漢化版):