防SQL注入过滤代码

<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
ASP通用防注入代码 
'
您可以把该代码COPY到头文件中.也可以单独作
'
为一个文件存在,每次调用使用 
'
作者:y3gu - 2005-7-29 
'
http://www.dosu.cn 
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符) 
Dim RequestKey Rem(提交数据)
Dim ForI Rem(循环标记)
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid
~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开)
ErrorSql = split(ErrorSql,"~")
If Request.ServerVariables("REQUEST_METHOD")="GET" Then
GetFlag
=True
Else
GetFlag
=False
End If
If GetFlag Then
For Each RequestKey In Request.QueryString
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.QueryString(RequestKey)),
ErrorSql(ForI))
<>0 Then
response.write 
"<script>alert(""警告: 请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next 
Else
For Each RequestKey In Request.Form
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.Form(RequestKey)),
ErrorSql(ForI))
<>0 Then
response.write 
"<script>alert(""警告: 请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
End If
%
>

第二个

Function Checkstr(Str) 
If Isnull(Str) Then 
CheckStr 
= "" 
Exit Function 
End If 
Str 
= Replace(Str,Chr(0),""1, -11
Str 
= Replace(Str, """"""", 1, -1, 1) 
Str = Replace(Str,"<;","<;"1, -11
Str 
= Replace(Str,">;",">;"1, -11
Str 
= Replace(Str, "script""script"1, -10
Str 
= Replace(Str, "SCRIPT""SCRIPT"1, -10
Str 
= Replace(Str, "Script""Script"1, -10
Str 
= Replace(Str, "script""Script"1, -11
Str 
= Replace(Str, "object""object"1, -10
Str 
= Replace(Str, "OBJECT""OBJECT"1, -10
Str 
= Replace(Str, "Object""Object"1, -10
Str 
= Replace(Str, "object""Object"1, -11
Str 
= Replace(Str, "applet""applet"1, -10
Str 
= Replace(Str, "APPLET""APPLET"1, -10
Str 
= Replace(Str, "Applet""Applet"1, -10
Str 
= Replace(Str, "applet""Applet"1, -11
Str 
= Replace(Str, "[""["
Str 
= Replace(Str, "]""]"
Str 
= Replace(Str, """"""1, -11
Str 
= Replace(Str, "=""="1, -11
Str 
= Replace(Str, """’’"1, -11
Str 
= Replace(Str, "select""select"1, -11
Str 
= Replace(Str, "execute""execute"1, -11
Str 
= Replace(Str, "exec""exec"1, -11
Str 
= Replace(Str, "join""join"1, -11
Str 
= Replace(Str, "union""union"1, -11
Str 
= Replace(Str, "where""where"1, -11
Str 
= Replace(Str, "insert""insert"1, -11
Str 
= Replace(Str, "delete""delete"1, -11
Str 
= Replace(Str, "update""update"1, -11
Str 
= Replace(Str, "like""like"1, -11
Str 
= Replace(Str, "drop""drop"1, -11
Str 
= Replace(Str, "create""create"1, -11
Str 
= Replace(Str, "rename""rename"1, -11
Str 
= Replace(Str, "count""count"1, -11
Str 
= Replace(Str, "chr""chr"1, -11
Str 
= Replace(Str, "mid""mid"1, -11
Str 
= Replace(Str, "truncate""truncate"1, -11
Str 
= Replace(Str, "nchar""nchar"1, -11
Str 
= Replace(Str, "char""char"1, -11
Str 
= Replace(Str, "alter""alter"1, -11
Str 
= Replace(Str, "cast""cast"1, -11
Str 
= Replace(Str, "exists""exists"1, -11
Str 
= Replace(Str,Chr(13),"<;br>;"1, -11
CheckStr 
= Replace(Str,"","’’"1, -11
End Function 


 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值