Web UI 用户管理部分 Bug报告

由于项目前期的设计问题,导致后期的Bug较多,且有些不容易修改,只能推到Beta版。我这个PM应该负责。。

由于Bug较多,这里不已数量说,而以类型说明。

1 SQL注入

这是在前期完全没有想到,知道邹老师课上提起,才着手去做防注入。使用的是最简单的单引号换成双引号。不过这回导致用户的输入和显示结果不完全相同。留待Beta版本继续解决。单纯以安全角度来看,已经杜绝了Sql注入的可能。

2 SQL封装

这类问题出现的主要原因,是拼装SQL语句的时候,由于会有一些列是根据不同的情况,可能会有操作或者没有操作,导致这些列前后的逗号处理出了问题。还有就是忘记了字符串两边的单引号。这里的问题都是一些程序员的粗心的造成的。目前,这里Bug已修复。

3 数据库连接池

在最初设计的时候,为求简单,数据库连接采用了单例模式(该打),导致在并发时性能出现问题,并有可能造成服务器的崩溃。后使用.NET的连接池特性(其实最初不知道.NET自带数据库连接池,以为要自己写,所有才用了单例)。目前该Bug已修复。

4 Vote

最初设计的Vote功能如下。对于每一个回答,任意用户最多投一票(Good或者Bad),可以撤销,撤销之后可以重新投票。这样,对已一个(用户,回答)应该有三种状态,及Good、Bad、未投票。现在,数据库中,以bit存储状态,少了一种状态。造成了如下结果:用户A对回答B做了一个Good投票。之后,A觉得B的回答不好,撤销了Good投票(到现在没有问题),然后想要投一个Bad票。Bad票会失败,因为撤销的时候记录已经修改,这一篇算作重复票无法计数。目前Bug未解决,留待Beta。

5 注册时的邮箱、密码验证

最初注册时只验证两个密码是否一致,忽略了邮箱的格式验证,以及密码的格式验证。导致在用户注册时,邮箱可以随意填写,密码亦可以随意填写。目前该Bug已修复。

6 提示信息位置

CSS的设计问题。在用户注册或者登或者修改信息时,显示失败或者成功信息时,信息会跳到页面的的右侧,而非原先预定的注册按钮之下,格式难看,且不醒目。目前该Bug已修复。

7 沟通不足

这里的沟通不足是指团队间沟通不足,导致对一些功能的理解不一致,造成非技术性Bug。比如Vote、Comment等。目前,这些Bug基本上已经达成共识,各做了修改,以使Alpha版学霸能够运行。

posted @ 2012-11-19 04:21  CodingCook  阅读(380)  评论(0编辑  收藏  举报