English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> 防止SQL注入完整ASP代码

 

防止SQL注入完整ASP代码

威盾防火墙 2015-03-05

 

<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份  头------
Fy_Cl = 1  '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "Error.Asp" '出错时转向的页面
'---定义部份  尾------

On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
 Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
 If Fy_Cs(Fy_x)<>"" Then
  If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
  Select Case Fy_Cl
    Case "1"
  Response.Write "<Script Language=JavaScript>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!   请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符 SQL通用防注入V1.0 ASP版 -- :;window.close();');window.close();</Script>"
    Case "2"
  Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
    Case "3"
  Response.Write "<Script Language=JavaScript>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!   请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符! SQL通用防注入V1.0 ASP版 -- ');location.href='"&Fy_Zx&"';');location.href='"&Fy_Zx&"';</Script>"
  End Select
  Response.End
  End If
 End If
Next
%>


相关内容: 最新内容:
两个防SQL注入过滤代码[2015-03-05]
一段防SQL注入的正则代码[2015-03-05]
防范SQL注入攻击的代码[2015-03-05]
如何从根本上防止 SQL 注入?[2015-03-05]
SQL注入攻击的种类和防范手段[2015-03-05]
如何防止SQL注入[2015-03-05]
两个防SQL注入过滤代码[2015-03-05]
一段防SQL注入的正则代码[2015-03-05]
防范SQL注入攻击的代码[2015-03-05]
如何从根本上防止 SQL 注入?[2015-03-05]
SQL注入攻击的种类和防范手段[2015-03-05]
如何防止SQL注入[2015-03-05]