|
asp的sql注入很让人头疼,以下函数能有效避免大多sql注入攻击,可以在此基础上加以完善:
<%
' 将此文件包含在公共文件里
' 如:conn.asp里
' <!--#include file=\"sqlin.asp\"-->
'--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr,Kill_IP,WriteSql
'自定义需要过滤的字串,用 \"|\" 分隔
Fy_In = \"'|;|and|(|)|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare\"
Fy_Inf = split(Fy_In,\"|\")
'--------POST部份------------------
If Request.Form<>\"\" Then
For Each Fy_Post In Request.Form
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write \"<Script Language=JavaScript>alert('非法参数');</Script>\"
Response.End
End If
Next
Next
End If
'----------------------------------
'--------GET部份-------------------
If Request.QueryString<>\"\" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write \"<Script Language=JavaScript>alert('非法参数');</Script>\"
Response.End
End If
Next
Next
End If
%>
文章来源(WEB开发技术知识库):http://www.cn-web.com/cnweb/40/545/article/ |
|