'功能防sql注入,包括字符型变量和数字型变量。 '参数: 'ParaName:参数名称-字符型 'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符) 'lenlimit:长度限制 '整理:www.aspprogram.cn '原创文章,转载请保留此信息。
Function SafeRequest(ParaName,ParaType,lenlimit) Dim ParaValue ParaValue = trim(Request(ParaName)) If ParaType = 1 then If IsNull(ParaValue) Or (Not IsNumeric(ParaValue)) then ParaValue = lenlimit End if Else If IsNull(ParaValue) Then ParaValue = "" Else Dim strBadChar, arrBadChar, tempChar, i strBadChar = "+,',--,^," & Chr(34) & "," & Chr(0) & "" arrBadChar = Split(strBadChar, ",") tempChar = ParaValue For i = 0 To UBound(arrBadChar) tempChar = Replace(tempChar, arrBadChar(i), "") Next tempChar = Replace(tempChar, "@@", "@")
If lenlimit <> -1 Then tempChar = Left(tempChar,lenlimit) End If ParaValue = tempChar End If End If SafeRequest = ParaValue End Function
使用方法: 当我要获取一个字符型变量str value=saferequest("str",0,50) 这句的意思是:获取参数str中的值,只获取前50个字符,超过的丢失,并对那些特殊符号进行了过滤。
当我要获取一个数字型变量str value=saferequest("str",1,0) 这句的意思是:获取参数str中的值,并进行数字判断,不是数字的或者为空的时候,value就等于0,否则,value等于request("str")的值。 |