所有编程语言无论在其定义还是在其实现中都有其不安全性。这通常汇号称程序员对语言的误用,而对这些误解,一些相对开放的语言又缺乏相应的解释。现举例如下:
a) 未初始化的变量。除非进行特别的检查,否则单元测试不会发现他们。而这将导致,一个程序在不同的环境下虽然运行成功,但运行结果却不是期望值。
b) 当要求重新分配存储器的调用时应予以检查,以确保不仅释放指针而且释放该结构所用的存储器。
c) 运算符优先级的规则,一些语言的要求并不是那么严格,容易是程序员发生误解。
2.4.2 系统安全性
根据防范安全攻击的安全需求、需要达到的安全目标、对应安全机制所需的安全服务等因素,参照SSE-CMM("系统安全工程能力成熟模型")和ISO17799(信息安全管理标准)等国际标准,综合考虑可实施性、可管理性、可扩展性、综合完备性、系统均衡性等方面。
(1) 用户信息的安全性。
用户信息的安全性分别体现在用户密码保存与用户登录这两个方面。
A 在用户密码保存上,系统采用了MD5防篡改【5】。例如,某个用户密码为“111111”,记录到数据库中时密码则会被加密成一个无法反向破译的32位的16进制数。
B 在用户登录方面,作者在考虑了cookie与session的优劣后选择的session方式记录用户登录信息。其好处有两点:
a) Session采用的是服务器端保存的方案,比记录在客户端的cookie更加安全。
b) Session有良好可控的过期时间,只需要在web.config里面稍做设置,便可控制Session的过期时间,以保证用户在离开电脑后忘记关闭浏览器而被别人盗用账号。
(2) 数据访问的安全性。
在数据访问的安全性上,系统注重防止SQL注入攻击,每个用户输入的信息在系统中均视为不可信信息,需要经过系统的安全过滤后才能访问数据库。
3 网站概要设计
3.1 系统总体设计分析
3.1.1 系统功能模块设计
(1) 个人登录:
通过用户名密码登录到主页即可看到本系统的一系列的功能情况。包括个人资料修改、个人通讯录添加查询删除、个人奖励情况添加查询删除、课程情况查询添加删除、课程成绩添加查询删除、备忘录添加查询删除。
(2) 个人资料修改:
登陆后即可对个人的资料进行修改与查询。
(3) 个人奖励情况:
个人奖励情况有两个模块,一个是对个人奖励情况的添加,一个是对个人奖励情况的查询。个人奖励情况添加就是将个人的奖励情况添加入,继而查询模块可以进行一系列的查询。点击查询后可对所有以往添加的内容进行查看,也可输入年分月份等内容后,对自己需要的内容情况进行查询。
(4) 个人通讯录:
登陆后即可将自己朋友的姓名电话等添加带通讯录,或者将不需要的信息删除,也可对朋友、同学的信息进行任意的查询。查询模块可以显示全部的以往添加的内容,也可以进行部分查询,支队自己需要的信息进行查询。
(5) 课程情况:
登录后即可对自己本学期或者是下学期等自己需要上的课程进行添加,也可以查询该课程的开课时间等内容。查询时可以对以往输入的所有课程信息进行查询,也可以对自己想要了解的课程输入课程号或者课程名进行查询。
(6) 课程成绩: C#大学生个人学习生活管理软件的开发+功能模块结构图(9):http://www.751com.cn/jisuanji/lunwen_224.html