学生信息系统管理—优化
来源:互联网 发布:淘宝店的名字怎么取名 编辑:程序博客网 时间:2024/05/18 14:12
在学生优化的过程中药更多的把自己放在一个用户的角度来看待整个的设计所存在的问题,本着方便与人的想法,学生优化所遇到的问题有:
一、SQL注入问题
在登录界面填好正确的用户名和密码后, 根据我们提交的用户名和密码被合成到SQL查询语句:
select * from users where username='lm' and password=md5('test')
很明显,用户名和密码是我们所设置的,肯定能够成功登陆。但是,如果我们输入一个错误的用户名或密码,肯定登录不上,但是对于有SQL注入漏洞,只要构造个特殊的“字符串”,照样能够成功登录。
比如:在用户名输入框中输入:' or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:
select * from users where username='' or 1=1#' and password=md5('')
语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,以下的两句sql语句等价:
代码如下:
select * from users where username='' or 1=1#' and password=md5('')
等价于
代码如下:
select * from users where username='' or 1=1
因为1=1永远是都是成立的,即where子句总是为真,将该sql进一步简化之后,等价于如下select语句:
select * from users
没错,该sql语句的作用是检索users表中的所有字段 ,即可成功登录
这是在学生中遇到的SQL注入问题,解决方法就是在设置用户名时加入更多的限制条件,如果感兴趣可以搜集更多关于SQL注入的问题
二、 更新按钮中添加 判断出生日期和入学日期是否符合逻辑的判断
If Val(left(txtRudate,4))<Val(left(txtBorndate,4)) Then MsgBox"入学年份和出生年份逻辑错误,请重新输入"vbOKOnly+vbExclamation,"警告" txtBorndate.SetFocus Mrc.Bookmark=myBookmark Call viewData Exit Sub End If三、在文件尾单击下一条 自动跳转到第一条记录,在文件头单击上一条自动跳转到最后一条记录
使表在逻辑上成为一个环。卷游标
四、使有些ComboBox控件不能输入,只能选择
1.combobox控件的style属性为2时,只可选择,不可输入
2.默认选中第一项的代码示例
If Combo1.ListCount> 0 ThenCombo1.ListIndex = 0End If
也可以设置部分Text框不能编辑,修改Locked属性
五、修改数据库中电话号码的个数,数据库中设置为10位,需修改为11位或其他
六、修改成绩不能超过100分或其他,符合实际情况
七、设置某些控件只能输入汉字
Private Sub txtName_KeyPress(KeyAscii As Integer) '设置输入用户名为汉字 If KeyAscii >= -20319 And KeyAscii <= -3652 Or KeyAscii = 8 Then Else MsgBox "请输入汉字!", 0 + 48, "警告" KeyAscii = 0 End IfEnd Sub
八、当撤销check框前对勾时,Text框自动清空Private Sub Check1_Click(Index As Integer) '当撤销学号或姓名或班号前对勾时,后面Text框清空If Not Check1(0).Value Then txtSID.Text = ""End IfIf Not Check1(1).Value Then txtName.Text = ""End IfIf Not Check1(2).Value Then txtClassno.Text = ""End IfEnd Sub
九、设置ListBox中内容不可改重复添加Private Sub cmdAdd_Click()Dim i As Variant If Listallcourse.ListIndex <> -1 Then '判断是否有内容被选中 If Listselectcourse.ListCount = 0 Then '判断已选框中是否存在记录 '将选中的课程赋值到已有课程中 Listselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex) '没有则添加记录 Exit Sub End If For i = 0 To Listselectcourse.ListCount - 1 '将已选框中的记录按照从0到i-1的顺序排列 If Listselectcourse.List(i) = Listallcourse.List(Listallcourse.ListIndex) Then '如果有记录与全部框中选中的该项重复则警告 MsgBox "此项已添加,请勿重复添加!", 0 + 48, "警告" Exit Sub End If Next Listselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex) '若无重复则输出 Else MsgBox "请先点击“设置课程”按钮添加课程", 0 + 48, "警告" End IfEnd Sub
阅读全文
2 0
- 学生信息系统管理—优化
- 学生信息系统管理(优化篇)
- 学生信息系统管理之 经典功能总结
- 数据结构课程设计—学生系统管理
- 学生系统管理
- 学生系统管理
- 学生系统管理
- c++程序学生系统管理
- 做学生系统管理收获
- 学生系统管理(Java)
- 学生管理系统管理系统
- 信息系统管理师
- 设备信息系统管理方案
- 学生信息
- 学生信息
- 学生信息
- 学生信息
- 学生信息
- hive、mysql搭建(简洁明了5分钟完全搞定)
- thymeleaf简单使用
- PHP 处理form表单的大总结
- service 小结
- 数据结构之排序之堆排序。寻找大富翁
- 学生信息系统管理—优化
- POJ 1426 Find The Multiple (数字太大,余数代替原数)
- hdu 1212 Least Common Multiple
- LintCode66
- 加快Android studio 编译
- Spring Cloud 注册中心在tomcat中部署
- 2017 Multi-University Training Contest
- LintCode68
- servlet和CGI