深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 565|回复: 1
打印 上一主题 下一主题

VB加入简单的防SQL注入

[复制链接]

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
跳转到指定楼层
楼主
发表于 2019-5-4 11:56:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 syant 于 2019-5-4 12:41 编辑

VB加入简单的防SQL注入

  1. Private Sub TextInput_Keypress(KeyAscii As Integer)
  2. On Error GoTo TextInput_KeyPress_Error

  3. If Chr(KeyAscii) = "'" Then KeyAscii = 0
  4. If Chr(KeyAscii) = ";" Then KeyAscii = 0
  5. KeyAscii = TextFilter(KeyAscii, AlphaCap)
  6. If KeyAscii = 13 Then
  7.    ...
  8.    GoTo result
  9.    ...
  10.    result:
  11.       TextInput.SetFocus
  12.       TextInput.SelStart = 0
  13.       TextInput.SelLength = Len(TextInput.text)
  14. End If
  15. Exit Sub
  16. TextInput_KeyPress_Error:
  17.     MsgBox Err.Description, vbExclamation
  18. End Sub
复制代码
回复

使用道具 举报

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
沙发
 楼主| 发表于 2019-5-4 12:31:57 | 只看该作者
  1. Public Function TextFilter(fAsc As Integer, fMode As Integer) As Integer
  2. On Error GoTo ErrorHandle

  3.     Select Case fMode
  4.         Case NumOnly  'Number Only
  5.             TextFilter = IIf(fAsc >= 48 And fAsc <= 57 Or fAsc = 8, fAsc, 0)
  6.         Case NumPoint  'Number & char '.'
  7.             TextFilter = IIf(fAsc >= 48 And fAsc <= 57 Or fAsc = 46 Or fAsc = 8, fAsc, 0)
  8.         Case NumTime  'Number & char ':'
  9.             TextFilter = IIf(fAsc >= 48 And fAsc <= 57 Or fAsc = 58 Or fAsc = 8, fAsc, 0)
  10.         Case AlphaCap  'Alpha Caption
  11.             If fAsc = 39 Then fAsc = 0
  12.             TextFilter = IIf(fAsc >= 97 And fAsc <= 122, fAsc - 32, fAsc)
  13.     End Select
  14.     Exit Function
  15. ErrorHandle:
  16.     MsgBox Err.Description, vbCritical

  17. End Function
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 01:53 , Processed in 0.020931 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表