Voting Service修复通告、自我检讨
呼…… Voting Service总是让人不省心,寒假伊始,我们就收到了李昂同学的电子邮件,作为十佳中学生候选人,他说他不能够正常登陆并上传资料,原因很简单,就是这回候选人当中有两个叫做李昂的。
帅气的李昂(高中版)同学反映的问题是无法登陆(显示密码错),我看了一下程序……数据库字符串好像是.... where 姓名=Request.QueryString("姓名"),然后下面直接判断密码,当一致,建立session,当不一致……跳到err,然后就什么都不做了。在数据库中,李昂(高中版)的在李昂(初中版)之后,显然,高中版的密码不能登陆。我想:这事简单,循环之,movenext之,就搞定了吧,果然,李昂(both senior edition and junior edition)可以正常登陆了,我高兴的回了电子邮件,声称问题解决。
然而令我没有想到的事情是……用具类中的UploadInfo方法的数据库连接字符串竟然也是使用的where 姓名= xxx。这样的结果就是……两个李昂都能登陆,但是,资料和照片都更新到第一个李昂的身上了。看到这个问题的产生,我真是出了一身冷汗——我犯下了多巨大的失误!其实我应该在第一次修改程序是就已经看到建立的名称叫做UserID的session的内容是候选人姓名,而不是ID,我应该联想到如果只有这样一个session,后面的更新数据库想必也是用的姓名吧?但是,由于我考虑的不周,出现了这个问题。
随后,经过检查,实现计票的方法有包含类似如下代码的循环:
这意味着计票时不会出现重名造成的不快结果,这个问题暂告一段落了。
还好,初中的李昂同学一直没有上传资料,没有造成数据上的损失,真是万幸。不过这次事件真是给我敲了警钟——考虑事情太不周到了。
在这里,我要向李昂同学道歉:对于给你带来的麻烦,我表示非常的抱歉和遗憾,对不起!
好了就这样了,希望大家给我们提出宝贵的意见。
对了,跟随这个连接可以到社团联合会的新网站(HCC承接的一个任务)看半成品——前alpha版,希望大家对UI提出建议——那里不好看啊,哪里不方便这些问题都请悉数提出。
最后,祝大家猪年幸福、健康平安!
关于公布代码安全性的考量:大家看到了,在我们的HCC Blog中,一些程序被修改过的源代码被公开了,这是不是会造成一些安全上的隐患?我想,我们希望通过Blog与大家交流,那就尽可能的向大家说更多的事情,讲到代码是自然的,与和同学们交流的优势相比,公布这些(伪)代码带来的负面影响已经不大。(由于HCC服务器FTP的小问题,We HCC Blog暂时移交到Google的托管空间上,等问题解决,我们会及时移回去,这样造成的访问速度慢、出现navbar的问题希望大家谅解。)
帅气的李昂(高中版)同学反映的问题是无法登陆(显示密码错),我看了一下程序……数据库字符串好像是.... where 姓名=Request.QueryString("姓名"),然后下面直接判断密码,当一致,建立session,当不一致……跳到err,然后就什么都不做了。在数据库中,李昂(高中版)的在李昂(初中版)之后,显然,高中版的密码不能登陆。我想:这事简单,循环之,movenext之,就搞定了吧,果然,李昂(both senior edition and junior edition)可以正常登陆了,我高兴的回了电子邮件,声称问题解决。
然而令我没有想到的事情是……用具类中的UploadInfo方法的数据库连接字符串竟然也是使用的where 姓名= xxx。这样的结果就是……两个李昂都能登陆,但是,资料和照片都更新到第一个李昂的身上了。看到这个问题的产生,我真是出了一身冷汗——我犯下了多巨大的失误!其实我应该在第一次修改程序是就已经看到建立的名称叫做UserID的session的内容是候选人姓名,而不是ID,我应该联想到如果只有这样一个session,后面的更新数据库想必也是用的姓名吧?但是,由于我考虑的不周,出现了这个问题。
随后,经过检查,实现计票的方法有包含类似如下代码的循环:
If rs.eof Then Exit For
If 此人id与投票表单中id相符 Then
增加此人的票数……
rs.update
End If
rs.movenext
这意味着计票时不会出现重名造成的不快结果,这个问题暂告一段落了。
还好,初中的李昂同学一直没有上传资料,没有造成数据上的损失,真是万幸。不过这次事件真是给我敲了警钟——考虑事情太不周到了。
在这里,我要向李昂同学道歉:对于给你带来的麻烦,我表示非常的抱歉和遗憾,对不起!
好了就这样了,希望大家给我们提出宝贵的意见。
对了,跟随这个连接可以到社团联合会的新网站(HCC承接的一个任务)看半成品——前alpha版,希望大家对UI提出建议——那里不好看啊,哪里不方便这些问题都请悉数提出。
最后,祝大家猪年幸福、健康平安!
关于公布代码安全性的考量:大家看到了,在我们的HCC Blog中,一些程序被修改过的源代码被公开了,这是不是会造成一些安全上的隐患?我想,我们希望通过Blog与大家交流,那就尽可能的向大家说更多的事情,讲到代码是自然的,与和同学们交流的优势相比,公布这些(伪)代码带来的负面影响已经不大。(由于HCC服务器FTP的小问题,We HCC Blog暂时移交到Google的托管空间上,等问题解决,我们会及时移回去,这样造成的访问速度慢、出现navbar的问题希望大家谅解。)
