在机房收费系统界面,如果不限制字符很容易产生sql注入。有的输入特殊字符 ' 和一些字母连在一起就能进入系统,所谓SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,这样很容易导致信息的泄露所以限制字符是必须的。优化过程中我是限制的只能输入字母和数字(在我看来只用限制英文状态下的' 就可以了,可以找到 ' 的ascii
进行限制,sql注入就是因为在查询是’的使用不当让系统自动进入系统)。
可以限制用户名和密码只能输入数字,这个比较简单,用学生的代码就可以了
If Not IsNumeric(Trim(txtusername.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtusername.SetFocus
txtusername.Text=“”
End If
优化后我是限制只能输入数字和字母的
Dim keyas As Integer
If
keyas < 0 Then
txtusername.SetFocus
txtusername.SelStart = 0
txtusername.SelLength = Len(txtusername.Text)
MsgBox "只能输入数字和字母!", vbOKOnly + vbExclamation, "警告" ElseIf
keyas > 32 And keyas < 48 Then
txtusername.SetFocus
txtusername.SelStart = 0
txtusername.SelLength = Len(txtusername.Text)
MsgBox "输入的是特殊字符!", vbOKOnly + vbExclamation, "警告" ElseIf keyas > 57 And keyas < 64 Then
txtusername.SetFocus
txtusername.SelStart = 0
txtusername.SelLength = Len(txtusername.Text)
MsgBox "只能输入数字和字母!", vbOKOnly + vbExclamation, "警告"
ElseIf keyas > 90 and keyas<97 Then
txtusername.SetFocus
txtusername.SelStart = 0
txtusername.SelLength = Len(txtusername.Text)
MsgBox "输入的是特殊字符!", vbOKOnly + vbExclamation, "警告"
Private Sub txtusername_keypress(keyascii As Integer)
keyas = keyascii
End Sub

录界面的时候
3114





