English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> asp下过滤非法的SQL字符的函数代码

 

asp下过滤非法的SQL字符的函数代码

威盾防火墙 2015-01-04

 
过滤非法的SQL字符,防止sql注入等。里面的体会思路主要运用了批量替换,是个不错的思路。
代码如下:

'************************************************** 
'函数名:R 
'作 用:过滤非法的SQL字符 
'参 数:strChar-----要过滤的字符 
'返回值:过滤后的字符 
'************************************************** 
Public Function R(strChar) 
If strChar = "" Or IsNull(strChar) Then R = "":Exit Function 
Dim strBadChar, arrBadChar, tempChar, I 
'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & "" 
strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & "" 
arrBadChar = Split(strBadChar, ",") 
tempChar = strChar 
For I = 0 To UBound(arrBadChar) 
tempChar = Replace(tempChar, arrBadChar(I), "") 
Next 
tempChar = Replace(tempChar, "@@", "@") 
R = tempChar 
End Function 
'过滤xss 
Function CheckXSS(ByVal strCode) 
Dim Re 
Set re=new RegExp 
re.IgnoreCase =True 
re.Global=True 
re.Pattern="<.[^>]*(style).>" 
strCode = re.Replace(strCode, "") 
re.Pattern="<(a.[^>]*|\/a|li|br|B|\/li|\/B|font.[^>]*|\/font)>" 
strCode=re.Replace(strCode,"[$1]") 
strCode=Replace(Replace(strCode, "<", "<"), ">", ">") 
re.Pattern="\[(a.[^\]]*|\/a|li|br|B|\/li|\/B|font.[^\]]*|\/font)\]" 
strCode=re.Replace(strCode,"<$1>") 
re.Pattern="<.[^>]*(on(load|click|dbclick|mouseover|mouseout|mousedown|mouseup|mousewheel|keydown|submit|change|focus)).>" 
strCode = re.Replace(strCode, "") 
Set Re=Nothing 
CheckXSS=strCode 
End Function 

Function FilterIDs(byval strIDs) 
Dim arrIDs,i,strReturn 
strIDs=Trim(strIDs) 
If Len(strIDs)=0 Then Exit Function 
arrIDs=Split(strIDs,",") 
For i=0 To Ubound(arrIds) 
If ChkClng(Trim(arrIDs(i)))<>0 Then 
strReturn=strReturn & "," & Int(arrIDs(i)) 
End If 
Next 
If Left(strReturn,1)="," Then strReturn=Right(strReturn,Len(strReturn)-1) 
FilterIDs=strReturn 
End Function

相关内容: 最新内容:
SQL查询语句通配符与ACCESS模糊查询like的解决方法[2015-01-04]
sql注入的一些新发现,突破关键字过滤[2014-12-30]
跨站式SQL注入数据库攻击[2014-12-30]
SQL注入另类技巧[2014-12-30]
SQL Injection的深入探讨[2014-12-30]
注射MSSQL时恢复sp_addextendedproc[2014-12-30]
在ASP中不用模板生成HTML静态页直接生成.html页面[2015-01-04]
SQL查询语句通配符与ACCESS模糊查询like的解决方法[2015-01-04]
搭建小型access数据库实录[2015-01-04]
win2008下IIS7、IIS7.5 配置ASP+ACCESS使用环境[2015-01-04]
IIS7.5应用程序池集成模式和经典模式的区别介绍[2015-01-04]
Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法[2015-01-04]