asp防sql注入
阿新 • • 發佈:2019-01-25
以下為引用的內容:
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '宣告變數和陣列
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示資訊,2=轉向頁面,3=先提示再轉向
Fy_Zx = "index.Asp" '出錯時轉向的頁面
'---定義部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING") '接收URL引數
Fy_a=split(Fy_Url,"&") '處理引數
redim Fy_Cs(ubound(Fy_a)) '用ubound的最大下標設定陣列大小
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))),"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)&" 的值中包含非法字串!\n\n 請不要在引數中出現:and,select,update,insert,delete,chr 等非法字元!\n\n我已經設定了不能SQL注入,請不要對我進行非法手段!');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)&"的值中包含非法字串!\n\n 請不要在引數中出現:,and,select,update,insert,delete,chr 等非法字元!\n\n設計了門,非法侵入請離開,謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '宣告變數和陣列
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示資訊,2=轉向頁面,3=先提示再轉向
Fy_Zx = "index.Asp" '出錯時轉向的頁面
'---定義部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING") '接收URL引數
Fy_a=split(Fy_Url,"&") '處理引數
redim Fy_Cs(ubound(Fy_a)) '用ubound的最大下標設定陣列大小
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))),"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)&" 的值中包含非法字串!\n\n 請不要在引數中出現:and,select,update,insert,delete,chr 等非法字元!\n\n我已經設定了不能SQL注入,請不要對我進行非法手段!');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)&"的值中包含非法字串!\n\n 請不要在引數中出現:,and,select,update,insert,delete,chr 等非法字元!\n\n設計了門,非法侵入請離開,謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next