引 言
在以前的公司就曾推荐在项目组中用 BugTracker.net(错误跟踪管理 ★开源★ 直到现在他们仍然在使用),最近自己需要对一个网站项目进行错误跟踪管理,自然就又想到了它。上网下载了个最新版本2.1.4(2005/10/22)。
因为现在需要将其部署在公共Web服务器上让普通用户使用 BugTracker 来报告错误,所以必须将其进行汉化并调整其默认的安全策略。
简 介
BugTracker.net 是用C#写的一个基于ASP.net的开源项目,是一款简单易用的错误跟踪管理软件。
安 装
- 将下载的压缩文件全部解压缩到某个文件夹中(譬如“E:\BugTracker”)。
- 创建数据库(譬如“BugTracker”),然后打开『SQL查询分析器』执行下载压缩文件内的“setup.sql”既可。
- 打开『IIS信息服务管理器』在“默认网站”下面创建虚拟目录(譬如“BugTracker”),并对应到你的物理目录(譬如“E:\BugTracker”)。将“default.aspx”添加到默认文件列表中。
- 打开浏览器在地址栏输入“http://127.0.0.1/BugTracker”,使用默认的系统管理员(Admin)帐号登录使用。
汉 化
BugTracker 项目的源代码和页面标签是混合在一起的而没有使用Codebehind,就像又回到了ASP时代一样。所以你千万不要像我一样到处找代码文件,我一度还以为它没提供源代码呢。坦白说,该项目的设计和代码实现都不咋的(看来,老外也不尽都是强人啊),远没有 ASP.net Forums(中文版) 来得漂亮,当然也可能是因为这两个项目的复杂度相差太大而导致设计思路不同罢。
该项目没有使用资源文档,各种显示文本/链接资源等均是硬编码在ASPX页面文件中的,所以我们必须一个个打开相关的ASPX文件,找到显示的英文内容后将其一一修改成中文,然后保存就可以了。因为是使用代码混合的方式,所以连编译这个步骤都可省略了(“可见即可得”)。
该项目中包含两个可能导致安全隐患的页面:
- query.aspx 页面是用来直接运行SQL语句的,这会导致非常严重的安全隐患,尤其是将该项目部署到公共服务器上面,一定要将该页面文件删除,否则不怀好意的人就可以利用其执行危险的SQL命令了!!!
- view_web_config.aspx 页面通过它能查看 Web.config 内容,这实在是个非常糟糕的事情。因为数据库连接字符串都是未经加密就直接保存在 Web.config 文件中的,如果你未删除该页面那后果可想而知了罢?!
经过一段时间的测试运行后,发现其日志文件增长较快,便将本 Web.config 配置文件内的是否启用日志记录选项(LogEnabled="0")设成关闭了。