access怎么防注入 10
1个回答
展开全部
<%
'--------防SQL注入定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
'自定义需要过滤的字串,用 "|" 分隔
Fy_In = "'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
'----------------------------------
%>
<%
Fy_Inf = split(Fy_In,"|")
'--------防SQL注入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('系统提示↓\n\n请不要尝试在参数中包含非法字符尝试注入!');window.close();</Script>"
Response.End
End If
Next
Next
End If
'--------防SQL注入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('系统提示↓\n\n请不要尝试在参数中包含非法字符尝试注入!');window.close();</Script>"
Response.End
End If
Next
Next
End If
'--------防SQL注入cookies部份-----------------
If Request.Cookies<>"" Then
For Each Fy_cook In Request.Cookies
For Fy_Xh=0 To Ubound(Fy_Inf)
if len(Request.Cookies(Fy_cook)) > num then
end if
If Instr(LCase(Request.Cookies(Fy_cook)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('系统提示↓\n\n请不要尝试在参数中包含非法字符尝试注入!');window.close();</Script>"
Response.End
End If
Next
Next
End If
%>
希望采纳,这个源码我用了好几年了,非常稳定,支持在COOKIES,POST与Get的防注入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询