防SQL数字注入函数

原创 2007年10月03日 18:05:00
防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>-1Then
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 

相关文章推荐

SQL\日期、數字格式化函数大全

  • 2008年03月04日 16:26
  • 1KB
  • 下载

SQL数字函数大全

SQL数字函数主要用于数字处理和/或数学计算。下表详细介绍了数字功能: 名字 描述 ABS() 返回数值表达式的绝对值。 ACOS() ...

Sql得到(去除)字符串中所有汉字,字母,数字的函数

核心思想在于下面几个模式的组合使用: %[0-9]% :              所有数字 %[A-Za-z]%:所有字母 %[吖-咗]%:所有汉字 1. 去除汉字(字母、数...
  • ful1021
  • ful1021
  • 2014年06月10日 18:37
  • 4186

sql 数字转人民币大写函数(两种方法)

create function UpperRMB(@num numeric(14,2)) returns @rmb table( 亿 varchar(2) ,仟万 varchar(2) ,佰...

SQL数字函数

SQL数字函数   1、AVG:算数平均数 AVG(expr)   expr 字段名称或表达式。 例如: 若要计算职员身高超过165厘米的职员平均身高,可以利用下面的SQL...

提取数字、提取英文、提取中文、过滤重复字符等SQL函数(含判断字段值是否有中文)

--SQL 判断字段值是否有中文   create  function  fun_getCN(@str  nvarchar(4000))      returns  nvarchar(400...

提取数字、提取英文、提取中文、过滤重复字符等SQL函數

--提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO CREATE FUNCTION ...

[MSSQL]SQL数字转英文函数

-- ============================================= -- Author: qianjin036a -- Create date:06/14/2008 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:防SQL数字注入函数
举报原因:
原因补充:

(最多只允许输入30个字)