防SQL数字注入函数

30 篇文章 0 订阅
18 篇文章 0 订阅
防SQL注入函数

程序代码:
函数部分========================================================================
' ------------------------------------------------
'
用途:检查是否为数字,以及数字是否超出范围
'
输入:检查字符,传值方式(0直接传,1取Form,2取QueryString,3取cookies,4直接Reqeust),开始数字(默认数字),结束数字(为-1则不检查大小)
Function  CheckNum(str_str,int_quest,int_startnum,int_endnum)
mystr
= Trim (str_str)
Select   Case  int_quest
Case   1
istr
= Request.Form(mystr)
Case   2
istr
= Request.QueryString(mystr)
Case   3
istr
= Request.Cookies(mystr)
Case   4
istr
= Request(mystr)
Case   Else
istr
= mystr
End   Select
istr
= Left (istr, 32
If   IsNumeric (istr)  Then
iNum
= CDbl (istr)
Else
iNum
= int_startnum
End   If
If  int_endnum >- 1 Then
If  iNum  If  iNum > int_endnum  Then  iNum = int_endnum 
End   If
CheckNum
= iNum
End Function
' ------------------------------------------------
'
用途:检查过滤字符串
'
输入:字符串,传值方式(0直接传,1取Form,2取QueryString,3取cookies,4直接Reqeust),检查方式(1不过滤html,2纯html,3标题过滤,4其他html过滤,),字符段截取长度
Function  CheckStr(str_str,int_quest,int_type,int_strlen)
mystr
= str_str
Select   Case  int_quest
Case   1
istr
= Request.Form(mystr)
Case   2
istr
= Request.QueryString(mystr)
Case   3
istr
= Request.Cookies(mystr)
Case   4
istr
= Request(mystr)
Case   Else
istr
= mystr
End   Select  
istr
= "" & Trim (istr)
istr
= Replace (istr, " ' " , " '' " )
Select   Case  int_type
Case   1  
istr
= Replace (istr, CHR ( 32 ), "   " )
istr
= Replace (istr, CHR ( 9 ), "   " )
istr
= Replace (istr, CHR ( 10 &   CHR ( 10 ), "

" )
istr = Replace (istr, CHR ( 10 ), "
"
)
istr = Replace (istr, CHR ( 13 ), "" )
Case   2
istr
= istr
Case   3
istr
= Replace (istr, CHR ( 32 ), "   " )
istr
= Replace (istr, CHR ( 9 ), "   " )
istr
= Replace (istr, CHR ( 13 ),  "" )
istr
= Replace (istr, " < " , " < " )
istr
= Replace (istr, " > " , " > "
istr
= Replace (istr, CHR ( 34 ), " "") 
istr = Replace (istr, "   " , "   " )
istr
= Replace (istr, CHR ( 39 ),  " ' " )
Case   Else
istr
= Replace (istr, CHR ( 32 ), "   " )
istr
= Replace (istr, CHR ( 9 ), "   " )
istr
= Replace (istr, CHR ( 10 &   CHR ( 10 ),  "

" )
istr = Replace (istr, CHR ( 10 ),  "
"
)
istr = Replace (istr, CHR ( 13 ),  "" )
istr
= Replace (istr, " < " , " < " )
istr
= Replace (istr, " > " , " > "
istr
= Replace (istr, CHR ( 34 ), " "") 
istr = Replace (istr, "   " , "   " )
istr
= Replace (istr, CHR ( 39 ),  " ' " )
End   select
istr
= CutStr(istr,int_strlen, "" )
CheckStr
= istr
End Function
' ------------------------------------------------
'
用途:截取字符串
'
输入:字符串,字符段截取长度,超过部分字符
Function  CutStr(str_str,int_strlen,str_addtrr)
Dim  k,i
k
= 0  
For  i = 1   to   Len (str_str)
c
= Abs ( Asc ( Mid (str_str,i, 1 )))
If  c > 255   Then
k
= k + 2
Else
k
= k + 1
End   If
If  k >= int_strlen  Then   Exit   For
Next
CutStr
= Left (str_str,k) & str_addtrr
End Function  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值